Pagini recente » Cod sursa (job #1158061) | Cod sursa (job #2898982) | Cod sursa (job #1081340) | Cod sursa (job #2268944) | Cod sursa (job #604474)
Cod sursa(job #604474)
#include <stdio.h>
#include <fstream>
using namespace std;
int v[510000],b[510000];
int i,n,k,mx,maxi,maxj,st,dr;
int main() {
FILE *f=fopen("secventa.in","rt");
FILE *g=fopen("secventa.out","wt");
fscanf(f,"%d%d",&n,&k);
st=1;
dr=0;
mx=-35000;
for (i=1;i<=n;i++) {
fscanf(f,"%d",&v[i]);
while (st<=dr && v[b[dr]]>=v[i]) dr--;
b[++dr]=i;
if (b[st]==i-k) st++;
if (i>=k) {
if (v[b[st]]>mx) {
mx=v[b[st]];
maxi=i-k+1;
maxj=i;
}
}
}
fprintf(g,"%d %d %d",maxi,maxj,mx);
fclose(g);
}