Pagini recente » Cod sursa (job #1106100) | Cod sursa (job #799054) | Cod sursa (job #2119143) | Cod sursa (job #1966878) | Cod sursa (job #556109)
Cod sursa(job #556109)
#include <fstream>
#include <deque>
using namespace std;
const int maxn = 5000010;
int n;
int a[maxn];
deque <int> c;
int main() {
ifstream f("deque.in");
ofstream g("deque.out");
int i, j, k;
f >> n >> k;
for (i = 1; i <= n; i++)
f >> a[i];
c.push_back(1);
for (i = 2; i <= k; i++) {
while (!c.empty() && a[c.back()] >= a[i])
c.pop_back();
c.push_back(i);
}
long long s = a[c.front()];
for (i = k+1; i <= n; i++) {
if (c.front() + k <= i)
c.pop_front();
while (!c.empty() && a[c.back()] >= a[i])
c.pop_back();
c.push_back(i);
s += a[c.front()];
}
g << s << '\n';
return 0;
}