Pagini recente » Cod sursa (job #148072) | Cod sursa (job #1334731) | Cod sursa (job #1308042) | Cod sursa (job #1537056) | Cod sursa (job #540944)
Cod sursa(job #540944)
# include <cstdio>
# include <deque>
using namespace std;
long long n, k, i, s, a[5000001];
deque <int> rares;
int main ()
{ freopen ("deque.in", "rt", stdin); freopen ("deque.out", "wt", stdout);
scanf ("%lld%lld", &n, &k); for (i = 1; i <= n; ++i) scanf ("%lld", &a[i]);
for (i = 1; i <= n; ++i)
{ while ( rares.empty() == 0 && a[i] <= a[rares.back()]) rares.pop_back();
rares.push_back(i);
if (rares.front() == i - k) rares.pop_front();
if (i >= k) s += a[rares.front()];
}
printf ("%lld\n", s); return 0;
}