Pagini recente » Cod sursa (job #385077) | Cod sursa (job #2119859) | Cod sursa (job #1964903) | Cod sursa (job #1533411) | Cod sursa (job #370493)
Cod sursa(job #370493)
#include <cstdio>
#include <deque>
int v[500000];
char s[10000000];
int main(){
freopen("secventa.in","rt",stdin);
freopen("secventa.out","wt",stdout);
std::deque<int> x;
int i,j,l,n,k;
int pos=15,max=-1000000;
int p=0;
bool m=false;
scanf("%d%d%c",&n,&k,&s[0]);
fgets(s,10000000,stdin);
for(i=0;i<n;i++){
if(s[p]=='-'){
m=true;
p++;
}
for(l=p;s[l]!=' '&&s[l]!='\n';l++);
for(j=l-1;j>=p;j--)
v[i]=v[i]*10+s[j]-48;
if(m){
v[i]=-v[i];
m=false;
}
p=l+1;
while(!x.empty()&&v[i]<x.back())x.pop_back();
x.push_back(v[i]);
if(i>=k-1){
if(v[i-k]==x.front())
x.pop_front();
if(x.front()>max){
pos=i;
max=x.front();
}
}
}
printf("%d %d %d",pos+2-k,pos+1,max);
return 0;
}