Pagini recente » Cod sursa (job #301495) | Cod sursa (job #1128140) | Cod sursa (job #1414534) | Cod sursa (job #1429985)
#include <iostream>
#include <fstream>
using namespace std;
int n,k;
int first,mxm=-30001,last,le,ri;
int v[500001],deque[500001];
int main()
{
ifstream f("secventa.in");
ofstream g("secventa.out");
f>>n>>k;
for (int i=1; i<=n; i++) f>>v[i];
le=1;
ri=0;
for(int i=1;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;
}