Pagini recente » Monitorul de evaluare | Cod sursa (job #3336330) | Cod sursa (job #3348945) | Monitorul de evaluare | Cod sursa (job #3336729)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
const int NMAX = 5e5;
int n, k, mx = INT_MIN, Lans, Rans, v[NMAX + 2];
deque<int> dq;
int main() {
fin >> n >> k;
for (int i = 1; i <= n; i++) {
fin >> v[i];
}
for (int i = 1; i <= n; i++) {
while (dq.size() && v[dq.front()] >= v[i]) dq.pop_front();
while (dq.size() && i - dq.back() >= k) dq.pop_back();
dq.push_front(i);
if (i >= k) {
if (v[dq.back()] > mx) {
mx = v[dq.back()];
Lans = i - k + 1;
Rans = i;
}
}
}
fout << Lans << ' ' << Rans << ' ' << mx;
return 0;
}