Pagini recente » Cod sursa (job #2947391) | Cod sursa (job #3122604) | Cod sursa (job #1883073) | Cod sursa (job #2317609) | Cod sursa (job #2681562)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
deque<int>q;
int v[500001];
int main()
{
int n, k, mx=-1, i, p1, p2, b=-1, start;
fin>>n>>k;
for(i=1; i<=n; i++)
fin>>v[i];
for(i=1; i<=k; i++)
{
while(!q.empty() && v[q.back()]>=v[i])
q.pop_back();
q.push_back(i);
}
b=v[q.front()];
start=1;
for(i=k+1; i<=n; i++)
{
if(q.front()==i-k)
q.pop_front();
while(!q.empty() && v[q.back()]>=v[i])
q.pop_back();
q.push_back(i);
if(b<v[q.front()])
{
b=v[q.front()];
start=i-k+1;
}
}
fout<<start<<' '<<start+k-1<<' '<<b;
}