Pagini recente » Cod sursa (job #2284322) | Cod sursa (job #2939235) | Cod sursa (job #1031265) | Cod sursa (job #225723) | Cod sursa (job #2636295)
// var STL
//#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <int> deck;
const int NMAX = 5000005;
int v[NMAX], k, n;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
int i;
long long s=0;
fin >> n >> k;
for(i = 1; i <= n; i++){
fin >> v[i];
}
for(i = 1; i <= n; i++){
while(deck.size() > 0 && v[i] <= v[ deck.back() ])
deck.pop_back();
deck.push_back(i);
if(deck.front() == i - k)
deck.pop_front();
if(i >= k)
s += v[ deck.front() ];
}
fout << s;
return 0;
}