Pagini recente » Cod sursa (job #1700431) | Cod sursa (job #132874) | Cod sursa (job #35064) | Cod sursa (job #417468) | Cod sursa (job #2861858)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
const int NMAX=5e5+5;
int v[NMAX];
deque<int>dq;
int main()
{
int k,i,n,maxim=-30005,ind;
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++)
{
if(!dq.empty() && dq.front()==i-k)
dq.pop_front();
while(!dq.empty() && v[dq.back()]>=v[i])
dq.pop_back();
dq.push_back(i);
if(i>=k && maxim<v[dq.front()])
{
maxim=v[dq.front()];
ind=i;
}
}
fout<<ind-k+1<<" "<<ind<<" "<<maxim;
return 0;
}