Pagini recente » Cod sursa (job #1169676) | Cod sursa (job #1923523) | Cod sursa (job #1103439) | Cod sursa (job #2281634) | Cod sursa (job #346673)
Cod sursa(job #346673)
#include <iostream>
#include <fstream>
#define NMAX 500000
using namespace std;
int v[NMAX],dq[NMAX],n,k,i,lo,hi,max,poz;
int main()
{
ifstream f;
ofstream g;
f.open("secventa.in");
g.open("secventa.out");
f>>n>>k;
for (i=1;i<=n;++i)
f>>v[i];
lo=1;hi=0;max=-30001;
for (i=1;i<=n;++i)
{
while (lo<=hi && v[dq[hi]]>=v[i])
--hi;
++hi;
dq[hi]=i;
if (i>=k)
{
if (dq[lo]==i-k)
++lo;
if (v[dq[lo]]>max)
{
max=v[dq[lo]];
poz=i;
}
}
}
g<<poz-k+1<<" "<<poz<<" "<<max;
f.close();
g.close();
return 0;
}