Pagini recente » Cod sursa (job #564739) | Cod sursa (job #2178907) | Cod sursa (job #2863392) | Cod sursa (job #1328808) | Cod sursa (job #2758010)
#include <fstream>
#include <deque>
using namespace std;
int main(){
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int N, K, current, max_base = -1 << 15, left, right;
cin >> N >> K;
deque<pair<int, int>> DEQ;
for(int i = 1; i <= N; ++i){
cin >> current;
while(!DEQ.empty() && current <= DEQ.back().first)
DEQ.pop_back();
while(!DEQ.empty() && DEQ.front().second <= i - K)
DEQ.pop_front();
DEQ.push_back(pair<int, int>(current, i));
if(i >= K && DEQ.front().first > max_base){
max_base = DEQ.front().first;
left = DEQ.front().second;
right = i;
}
}
cout << left << " " << right << " " << max_base;
cin.close();
cout.close();
return 0;
}