Pagini recente » Cod sursa (job #269222) | Cod sursa (job #1308272) | Cod sursa (job #1077805) | Cod sursa (job #2149415) | Cod sursa (job #273996)
Cod sursa(job #273996)
//#include<stdio.h>
#include<fstream.h>
#define MAXN 500001
//FILE *f=fopen("secventa.in","r"),
// *g=fopen("secventa.out","w");
ifstream f("secventa.in");
ofstream g("secventa.out");
int deque[MAXN],a[MAXN],p,q,i,j,n,k,max,pf,qf;
int main()
{ //fscanf(f,"%d %d",&n,&k);
f>>n>>k;
p=1;
q=0;
max=-20000000;
for(i=1;i<=n;++i){ //fscanf(f,"%d",&a[i]);
f>>a[i];
while(p<=q&&a[i]<=a[deque[q]]) --q;
deque[++q]=i;
if(deque[p]==i-k) ++p;
if(i>=k) if(a[deque[p]]>max) max=a[deque[p]],pf=i-k+1,qf=i;
}
//fprintf(g,"%d %d %d\n",pf,qf,max);
//fclose(f);
//fclose(g);
g<<pf<<" "<<qf<<" "<<max<<"\n";
f.close();
g.close();
return 0;
}