Pagini recente » Cod sursa (job #2907039) | Cod sursa (job #3201372) | Cod sursa (job #2208097) | Cod sursa (job #37519) | Cod sursa (job #1335963)
#include <deque>
#include <fstream>
#include <iostream>
using namespace std;
const int MAXN = 500005;
deque<int> dq;
int v[MAXN];
int main()
{
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int N, K, maxb = -40000, st = 0, dr = 0;
cin >> N >> K;
for(int i = 1; i <= N; ++i) {
cin >> v[i];
while(!dq.empty() && v[dq.back()] > v[i])
dq.pop_back();
if(!dq.empty() && i - dq.front() + 1 > K)
dq.pop_front();
dq.push_back(i);
if(i >= K && v[dq.front()] > maxb) {
maxb = v[dq.front()];
dr = i;
st = i - K + 1;
}
}
cout << st << " " << dr << " " << maxb;
return 0;
}