Pagini recente » Cod sursa (job #1678990) | Cod sursa (job #252094) | Cod sursa (job #805560) | Cod sursa (job #359454) | Cod sursa (job #1697906)
#include <bits/stdc++.h>
using namespace std;
const int maxN = (int)5E5;
int n, k, l, r, m;
int a[maxN];
deque<int> dq;
int main() {
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d", &n, &k);
for(int i = 0; i < n; ++i)
scanf("%d", &a[i]);
dq.clear();
m = -(int)2E9;
for(int i = 0; i < n; ++i) {
while (!dq.empty() && a[i] <= a[dq.back()]) dq.pop_back();
dq.push_back(i);
while (!dq.empty() && dq.front() < i-k+1) dq.pop_front();
if (i >= k-1 && a[dq.front()] > m) {
m = a[dq.front()];
l = i-k+1;
r = i;
}
}
printf("%d %d %d\n", l+1, r+1, m);
return 0;
}