Pagini recente » Cod sursa (job #3280477) | Cod sursa (job #2114570) | Cod sursa (job #2654192) | Cod sursa (job #2808417) | Cod sursa (job #130993)
Cod sursa(job #130993)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
long int n,k,i,x[500002],u,p,c[500002],ps,b;
char cit[3500014],*s;
int main()
{
FILE *f,*g;f=fopen("secventa.in","r");g=fopen("secventa.out","w");
fscanf(f,"%ld %ld\n",&n,&k);
fgets(cit,3500014,f);
s=cit;
for(i=1;i<n;i++)
{ x[i]=atol(s);
s=strchr(s,' ');
s++;
}
x[n]=atol(s);
for(i=1;i<=k;i++)
{ while(u>=p&&c[u]>x[i])u--;
u++;c[u]=x[i];
}
b=c[p];ps=1;
for(i=k+1;i<=n;i++)
{ if(c[p]==x[i-k])p++;
while(u>=p&&c[u]>x[i])u--;
u++;c[u]=x[i];
if(b<c[p]){b=c[p];ps=i-k+1;}
}
fprintf(g,"%ld %ld %ld\n",ps,ps+k-1,b);
fcloseall();
return 0;
}