Pagini recente » Cod sursa (job #2354002) | Cod sursa (job #921675) | Cod sursa (job #254048)
Cod sursa(job #254048)
#include<stdio.h>
#define N 500010
int dq[N], a[N], n, k;
int main(){
int max = -1000000, s, d, i, inc, sf;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d %d", &n, &k);
scanf("%d",&a[1]);
dq[1] = 1; s = 1; d = 1;
if (k == 1) max = a[1], inc = 1, sf = 1;
for (i = 2; i <= n; i++){
scanf("%d", &a[i]);
if (dq[s] <= i-k && s <= d) s++;
for ( ; a[dq[d]] >= a[i] && s<=d; d--);
dq[++d] = i;
if (i >= k)
if (a[dq[s]] > max)
max = a[dq[s]], inc = i-k+1, sf = i;
}
printf("%d %d %d\n",inc, sf, max);
return 0;
}