Pagini recente » Rating Sergiu Weisz (Sergiu121) | Cod sursa (job #1784418) | Cod sursa (job #93953) | Cod sursa (job #1108066) | Cod sursa (job #204956)
Cod sursa(job #204956)
#include<fstream>
using namespace std;
int a[500009];
int main(){
int n, k, i, vf, ult,x,pi,psf,bmax;
ifstream f("secventa.in");
f>>n>>k;
vf=0;
ult=-1;
for(i=0;i<k;i++){
f>>x;
if(vf>=ult){vf=ult=0;a[ult]=x;}
else {while(a[ult]>x && ult>=vf) ult--;
if(ult<vf){ ult=vf=0;a[ult]=x;}
else a[++ult]=x;
}
}
pi=1;psf=k;bmax=a[vf];
for(i=k+1;i<=n;i++){
vf++;
f>>x;
if(vf>=ult){ult=vf;a[ult]=x;}
else {while(a[ult]>x && ult>=vf) ult--;
if(ult<vf){ ult=vf;a[ult]=x;}
else a[++ult]=x;
}
if(a[vf]>bmax){bmax=a[vf];psf=i;pi=i-k+1;}
}
f.close();
ofstream g("secventa.out");
g<<pi<<' '<<psf<<' '<<bmax<<'\n';
g.close();
return 0;
}