Pagini recente » Cod sursa (job #2084239) | Cod sursa (job #2236684) | Cod sursa (job #141553) | Cod sursa (job #1212421) | Cod sursa (job #2026797)
#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 = i-k+1;
solUltim = i;
}
}
fprintf(f2,"%d %d %d",solPrim, solUltim, sol);
return 0;
}