Pagini recente » Cod sursa (job #358487) | Cod sursa (job #83148) | Cod sursa (job #1235114) | Cod sursa (job #371363) | Cod sursa (job #2026796)
#include <stdio.h>
FILE *f1 = fopen("secventa.in","r");
FILE *f2 = fopen("secventa.out","w");
const int N = 500005;
int n,k,i,prim,ultim,sol,solPrim,solUltim;
int v[N], d[N];
int main()
{
fscanf(f1,"%d%d",&n,&k);
sol = v[0] = -30001;
for(i=1;i<=n;i++)
{
fscanf(f1,"%d",&v[i]);
if(i - d[prim] >= k)
prim++;
while(prim <= ultim && v[i] < v[d[ultim]])
ultim--;
d[++ultim] = i;
if(i >= k && v[d[prim]] > sol)
{
sol = v[d[prim]];
solPrim = d[prim];
solUltim = d[ultim];
}
}
fprintf(f2,"%d %d %d",solPrim, solUltim, sol);
return 0;
}