Pagini recente » Cod sursa (job #576638) | Cod sursa (job #303897) | Cod sursa (job #265282) | Cod sursa (job #607490) | Cod sursa (job #2508868)
#include <stdio.h>
int a[500001],x[500001];
int main()
{
int bm,jm,km,i,p,u,n,k,aux;
FILE *f,*g;
f=fopen("secventa.in","r");
g=fopen("secventa.out","w");
fscanf(f,"%d%d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d",x+i);
bm=-30001;
p=1;u=0;
for(i=1;i<k;i++)
{
while(u>=p && x[i]<x[a[u]])
u--;
u++;a[u]=i;
}
for(i=k;i<=n;i++)
{
fscanf(f,"%d",&x);
while(u>=p && x[i]<x[a[u]])
u--;
u++;a[u]=i;
aux=x[a[u]];
if(aux>bm)
{
bm=aux; jm=i-k+1;km=i;
}
if(i-a[u]+1==k)
p++;
}
fprintf(g,"%d %d %d",jm,km,bm);
fclose(g);
}