Pagini recente » Cod sursa (job #1987635) | Cod sursa (job #1274015) | Cod sursa (job #502336) | Cod sursa (job #1152319) | Cod sursa (job #2999617)
#include <bits/stdc++.h>
#define MAXSZ 500000
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n, k, lo = -1, hi = -1, maxi = INT_MIN, arr[MAXSZ];
deque<int> dq;
int main() {
fin >> n >> k;
for (int i = 0; i < n; i++) {
fin >> arr[i];
while (!dq.empty() && arr[dq.back()] >= arr[i])
dq.pop_back();
dq.push_back(i);
if (dq.front() == i - k)
dq.pop_front();
if (i >= k - 1 && dq.front() > maxi) {
lo = i - k + 1;
hi = i;
maxi = dq.front();
}
}
fout << lo + 1 << ' ' << hi + 1 << ' ' << arr[maxi] << '\n';
return 0;
}