Pagini recente » Cod sursa (job #674132) | Cod sursa (job #286191) | Cod sursa (job #1127252) | Cod sursa (job #1044212) | Cod sursa (job #92167)
Cod sursa(job #92167)
#include<stdio.h>
int dq[512000], pos[512000];
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
int n, k, i, x, sol=0x80000000, ps, start=1, stop=1;
scanf("%d %d", &n, &k);
scanf("%d", &x);
dq[start]=x;
pos[start]=1;
for (i=2; i<=n; i++)
{
scanf("%d", &x);
while ((pos[start]<=i-k) && (start<=stop)) ++start;
while ((dq[stop]>=x) && (stop>=start)){ --stop;}
++stop;
dq[stop]=x;
pos[stop]=i;
if ((dq[start]>sol) && (i>=k))
{sol=dq[start]; ps=i;}
}
printf("%d %d %d", ps-k+1, ps, sol);
return 0;
}