Pagini recente » Cod sursa (job #2143217) | Cod sursa (job #2873469) | Cod sursa (job #830456) | Cod sursa (job #459357) | Cod sursa (job #2167518)
#define x first
#define y second
#include <deque>
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
const int Dim = 500001;
deque < pair < int , int > > D;
int n,k,ma;
int main() {
fin >> n >> k;
int val;
int dr;
for ( int i = 1; i <= k; ++i) {
fin >> val;
while(!D.empty() and D.back().x > val )
D.pop_back();
D.push_back({val,i});
}
for ( int i = k + 1; i <= n; ++i) {
fin >> val;
if (i - D.front().y >= k)
D.pop_front();
while(!D.empty() and D.back().x > val )
D.pop_back();
D.push_back({val,i});
if (D.front().x > ma) {
ma = D.front().x;
dr = i;
}
}
fout << dr - k + 1 << " " << dr << " "<<ma;
}