Pagini recente » Cod sursa (job #1962788) | Cod sursa (job #1630698) | Cod sursa (job #367557) | Cod sursa (job #1788676) | Cod sursa (job #2396720)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("secventa.in");
ofstream out ("secventa.out");
int v[500001];
int main()
{
deque<int> d;
int n,k,max1=INT_MIN,poz1,poz2,maxin;
in>>n>>k;
for (int i=1;i<=n;++i)
in>>v[i];
for (int i=1;i<=n;++i)
{
int p=v[i];
while (d.empty()==0 && v[d.back()]>p)
d.pop_back();
if (i-k==d.front() && !d.empty())
d.pop_front();
d.push_back(i);
if (i>=k)
{
maxin=max1;
max1=max(max1,v[(d.front())]);
if (max1>maxin)
{
poz1=i;
poz2=i-k+1;
}
}
}
out<<poz2<<' '<<poz1<<' '<<max1;
return 0;
}