Pagini recente » Cod sursa (job #871080) | Cod sursa (job #2114462) | Cod sursa (job #2407687) | Cod sursa (job #2386902) | Cod sursa (job #1697910)
#include <bits/stdc++.h>
using namespace std;
const int maxN = (int)5E5;
int n, k;
int a[maxN], dq[maxN];
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]);
int l, r, m, top, bot;
m = -(int)2E9;
top = -1; bot = 0;
for(int i = 0; i < n; ++i) {
while (top >= bot && a[i] <= a[dq[top]]) --top;
dq[++top] = i;
if (i >= k-1) {
while (top >= bot && dq[bot] < i-k+1) ++bot;
if (a[dq[bot]] > m) {
m = a[dq[bot]];
l = i-k+1;
r = i;
}
}
}
printf("%d %d %d\n", l+1, r+1, m);
return 0;
}