Pagini recente » Cod sursa (job #993242) | Cod sursa (job #660993) | Cod sursa (job #832575) | Cod sursa (job #2595539) | Cod sursa (job #2449498)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,a[500005],maxim,poz,i;
deque < pair<int,int> > dq;
int main()
{
f>>n>>k;
maxim=-30001;
for(i=1;i<=n;i++)
{
f>>a[i];
while(!dq.empty() && a[i]<=dq.back().second)
{
dq.pop_back();
}
dq.push_back({i,a[i]});
while(dq.front().first<=i-k)
{
dq.pop_front();
}
if(i>=k)
{
if(dq.front().second>maxim)
{
maxim=dq.front().second;
poz=i;
}
}
}
g<<poz-k+1<<" "<<poz<<" "<<maxim;
return 0;
}