Pagini recente » Cod sursa (job #1113033) | Cod sursa (job #2035437) | Cod sursa (job #1897259) | Cod sursa (job #381541) | Cod sursa (job #1780978)
#include<stdio.h>
#include<deque>
using namespace std;
deque<int>d1,d2;
int main(){
int n,k,max,nr,i,inc,sf;
char c1,c2,c;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%c%c%c%c",&c1,&c,&c2,&c);
n=c1-'0';
k=c2-'0';
max=-999999999;
scanf("%c%c",&c1,&c2);
if(c1=='-'){
nr=(c2-'0')*(-1);
scanf("%c",&c);
}
else
nr=c1-'0';
d1.push_front(nr);
d2.push_front(1);
for(i=2;i<=n;i++){
scanf("%c%c",&c1,&c2);
if(c1=='-'){
nr=(c2-'0')*(-1);
scanf("%c",&c);
}
else
nr=c1-'0';
while(!d1.empty()&&nr<d1.back()){
d1.pop_back();
d2.pop_back();
}
d1.push_back(nr);
d2.push_back(i);
if(i>=k){
while(d2.back()-d2.front()+1>k){
d1.pop_front();
d2.pop_front();
}
if(d1.front()>max){
max=d1.front();
inc=i-k+1;
sf=i;
}
}
}
printf("%d %d %d\n",inc,sf,max);
return 0;
}