Pagini recente » Istoria paginii utilizator/buterezandrei | Cod sursa (job #1122969) | Monitorul de evaluare | Cod sursa (job #1122731) | Cod sursa (job #593876)
Cod sursa(job #593876)
#include <cstdio>
#define MAXN 500010
#define INF 50000
int main(){
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
int N, K, i, l, r, minv, minl, minr, a;
static int D[MAXN], P[MAXN];
scanf("%d%d", &N, &K);
l=1; r=0; minv=-1*INF;
for(i=1; i<=N; i++){
scanf("%d", &a);
if(l<=r && i-P[l]>=K)
l++;
while(l<=r && a<=D[r])
r--;
r++; D[r]=a; P[r]=i;
if(i>=K && D[l]>minv){
minv=D[l]; minl=i-K+1; minr=i;
}
}
printf("%d %d %d", minl, minr, minv);
return 0;
}