Pagini recente » Cod sursa (job #1248072) | Cod sursa (job #2538840) | Cod sursa (job #745945) | Cod sursa (job #2372085) | Cod sursa (job #1493695)
#include <stdio.h>
#include <stdlib.h>
int v[500000], indice[500000];
int main(){
FILE *fin, *fout;
int n, k, i, i2, y, max, nr, incep, mem;
fin=fopen("secventa.in", "r");
fout=fopen("secventa.out", "w");
fscanf(fin, "%d%d%d", &n, &k, &v[0]);
i2=1;
indice[0]=0;
for(i=1;i<k;i++){
fscanf(fin, "%d", &nr);
while(nr<=v[i2-1] && i2>0)
i2--;
v[i2]=nr;
indice[i2]=i;
i2++;
}
printf("%d %d", v[0], indice[0]);
max=v[0];
mem=indice[0];
y=0;
incep=0;
for(i=k;i<n;i++){
fscanf(fin, "%d", &nr);
while(nr<=v[i2-1] && i2>y)
i2--;
v[i2]=nr;
indice[i2]=i;
if(indice[y]==incep)
y++;
if(v[y]>max){
max=v[y];
mem=incep+1;
}
i2++;
incep++;
}
fprintf(fout, "%d %d %d", mem+1, mem+k, max);
fclose(fin);
fclose(fout);
return 0;
}