100pts:
#include<bits/stdc++.h>
using namespace std;
unsigned long long a[1000006];
int main(){
std::ios::sync_with_stdio(false);
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
deque<int> q;
for(int i=1;i<=n;i++){
if(!q.empty()&&i-q.front()+1>k){
q.pop_front();
}
while(!q.empty()&&a[q.back()]<=a[i]){
q.pop_back();
}
q.push_back(i);
if(i>=k){
cout<<q.size()<<'\n';
}
}
return 0;
}
0pts:
#include<bits/stdc++.h>
using namespace std;
unsigned long long a[1000006];
int main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
deque<int> q;
for(int i=1;i<=n;i++){
if(!q.empty()&&i-q.front()+1>k){
q.pop_front();
}
while(!q.empty()&&a[q.back()]<=a[i]){
q.pop_back();
}
q.push_back(i);
if(i>=k){
printf("%d\n",q.size());
}
}
return 0;
}
有人知道为什么吗?其他题也遇到过好几次,就卡scanf,printf