Pagini recente » Cod sursa (job #1057778) | Cod sursa (job #2323491) | Cod sursa (job #1335904) | Cod sursa (job #1729610) | Cod sursa (job #542060)
Cod sursa(job #542060)
# include <stdio.h>
//ifstream f("secventa.in");
//ofstream g("secventa.out");
int k, n, i, front = 1, back, deque[500001], a[500001], baza = -30001, vi = -1, vf = -1;
int main ()
{ freopen ("secventa.in", "r", stdin); freopen ("secventa.out", "w", stdout);
scanf ("%d%d", &n, &k);
//f >> n >> k;
for (i = 1; i <= n; ++i) scanf ("%d", &a[i]);
// f >> a[i];
for (i = 1; i <= n; ++i)
{ while (front <= back && a[i] <= a [ deque [ back ]]) back --;
deque [ ++ back ] = i;
if (deque [ front ] == i - k) front ++;
if (i >= k && a [ deque [ front ]] > baza) {baza = a [ deque [ front ]]; vi = (vf = i) - k + 1;}
}
//g << vi << ' ' << vf << ' ' << baza << '\n'; return 0;
printf ("%d %d %d\n", vi, vf, baza); return 0;
}