Pagini recente » Cod sursa (job #673542) | Cod sursa (job #2833977) | Cod sursa (job #2532351) | Cod sursa (job #1128860) | Cod sursa (job #596654)
Cod sursa(job #596654)
#include <cstdio>
#include <fstream>
using namespace std;
FILE *f,*g;
int v[510000],b[510000];
int i,n,k,mx,maxi,maxj,st,dr;
int main() {
//f=fopen("secventa.in","r");
g=fopen("secventa.out","w");
ifstream in("secventa.in");
//fscanf(f,"%d%d",&n,&k);
in>>n>>k;
st=1;
dr=0;
mx=-35000;
for (i=1;i<=n;i++) {
//fscanf(f,"%d",&v[i]);
in>>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);
}