Pagini recente » Cod sursa (job #260760) | Cod sursa (job #2547483) | Cod sursa (job #601809) | Cod sursa (job #2372447) | Cod sursa (job #1493667)
#include <stdio.h>
#define MAXN 5000000
int v[MAXN], dq[MAXN];
int main(){
FILE*fin=fopen("secventa.in", "r");
FILE*fout=fopen("secventa.out", "w");
int n, k, i, st, dr, ans, poz;
fscanf(fin, "%d%d", &n, &k);
for(i=0; i<n; i++)
fscanf(fin, "%d", &v[i]);
ans=0;
st=0;
dr=0;
for(i=0; i<n; i++){
if(i-dq[st]>=k)
st++;
while((dr>st)&&(v[dq[dr-1]]>=v[i]))
dr--;
dq[dr++]=i;
if(i>=k-1 && v[dq[st]]>ans){
ans=v[dq[st]];
poz=i;
}
}
poz--;
fprintf(fout, "%d %d %d\n", poz, poz+k-1, ans);
fclose(fin);
fclose(fout);
return 0;
}