Pagini recente » Cod sursa (job #2926652) | Cod sursa (job #1238044) | Cod sursa (job #252767) | Cod sursa (job #3170992) | Cod sursa (job #2087258)
#include <iostream>
#include <cstdio>
using namespace std;
int maxt, i, k, minv, j, a[500001], n, c1, c2, bz[500001], s, l[500001];
int main()
{
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]);
s = 1; maxt = -30001; bz[0] = 30001; bz[1] = a[1]; l[1] = 1; j = 1;
for (i = 2; i <= n; i++) {
while(a[i] < bz[j] and s <= j)
j--;
j++;
bz[j] = a[i]; l[j] = i;
if (i - l[s] == k)
s++;
if (k <= i)
if (bz[s] > maxt) {
c1 = i - k + 1; c2 = i; maxt = bz[s];
}
}
printf("%d %d %d",c1,c2,maxt);
return 0;
}