Pagini recente » Cod sursa (job #1868294) | Cod sursa (job #2667283) | Cod sursa (job #1429974)
#include <iostream>
#include <fstream>
using namespace std;
int n,k;
int mxm,first,last,le,ri;
int v[500001],deque[500001];
int main()
{
int i;
ifstream f("secventa.in");
ofstream g("secventa.out");
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1,mxm=-30001,le=1,ri=0;i<=n;i++)
{
while(le<=ri && v[i]<=v[deque[ri]])
--ri;
deque[++ri]=i;
if(deque[le]==i-k)
++le;
if(i>=k)
if(v[deque[le]]>mxm)
{
mxm=v[deque[le]];
first=i-k+1;
last=i;
}
}
g<<first<<" "<<last<<" "<<mxm;
return 0;
}