Pagini recente » Cod sursa (job #761016) | Cod sursa (job #2349579) | Cod sursa (job #1108699) | Cod sursa (job #625556) | Cod sursa (job #2385499)
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int v[500001],n,k;
int vf[500010];
int main(){
int i,li,ls,poz,maxx;
f>>n>>k;
for(i=1; i<=n; i++)
f>>v[i];
li=1;
ls=0;
poz=k;
maxx=-500010;
for(i=1; i<=n; i++){
while(li<=ls && v[i]<=v[vf[ls]])
ls--;
ls++;
vf[ls]=i;
if(vf[li]==i-k)
li++;
if(i>=k && v[vf[li]]>maxx){
maxx=v[vf[li]];
poz=i;
}
}
g<<poz-k+1<<" "<<poz<<" "<<maxx;
return 0;
}