Pagini recente » Cod sursa (job #1682995) | Cod sursa (job #628754) | Cod sursa (job #777928) | Cod sursa (job #2244557) | Cod sursa (job #1697951)
#include <bits/stdc++.h>
using namespace std;
const int maxN = (int)5E5;
int n, k;
int a[maxN], dq[maxN];
void Solve() {
int r, m, top, bot;
m = -(int)2E9;
top = -1; bot = 0;
for(int i = 0; i < n; ++i) {
scanf("%d", &a[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]], r = i;
}
}
printf("%d %d %d\n", r-k+2, r+1, m);
}
int main() {
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d", &n, &k);
Solve();
return 0;
}