Pagini recente » Cod sursa (job #3162214) | Cod sursa (job #2637519) | Cod sursa (job #1943338) | Cod sursa (job #2211292) | Cod sursa (job #283750)
Cod sursa(job #283750)
#include<stdio.h>
#define dim 500001
int a[dim], c[dim];
int N, K;
int main()
{
int i, prim, ultim, ok, start, end, max=-32001;
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d", &N, &K);
for(i = 1; i <= N; i++)
scanf("%d", &a[i]);
prim = ultim = 1;
c[1] = 1;
i = 2;
while(i <= N)
{
while( (prim <= ultim) && ( a[c[ultim]] > a[i] ) )
ultim--;
ultim++;
c[ultim] = i;
ok = 0;
while( ( c[ultim] - c[prim] + 1 ) >= K )
{
prim++;
ok=1;
}
if(ok)
{
prim--;
if( a[c[prim]] >= max )
{
max = a[c[prim]];
start = c[prim];
end = c[ultim];
}
}
i++;
}
printf("%d %d %d \n", start, end, max);
return 0;
}