Pagini recente » Cod sursa (job #3196282) | Cod sursa (job #1845723) | Cod sursa (job #807819) | Cod sursa (job #1024861)
#include<cstdio>
#include<cstring>
int nmax,n,k,x,i,j,semn,nr,p,u,in,fin,v[500001],d[500001];
char s[4000001];
FILE *f,*g;
int main(){
f=fopen("secventa.in","r");
g=fopen("secventa.out","w");
fscanf(f,"%d%d",&n,&k);
fgets(s,5000000,f);
n=0;
for(i=0;s[i]!=0;i++){
if(s[i]>=0&s[i]<=9)
x=x*10+s[i]-'0';
if(s[i]=='-')
semn=-1;
else {
v[++n]=x*semn;
semn=1;
}
}
p=1;
u=0;
nmax=-30001;
for(i=1;i<=n;i++){
while(v[i]<v[d[u]] && u>=p){
u--;
}
d[++u]=i;
if(i>=k){
if(i-d[p]==k)
p++;
if(v[d[p]]>nmax){
nmax=v[d[p]];
in=i-k+1;
fin=i;
}
}
}
fprintf(g,"%d %d %d",in,fin,nmax);
fclose(f);
fclose(g);
return 0;
}