Pagini recente » Cod sursa (job #1786384) | Cod sursa (job #380359) | Cod sursa (job #1030959) | Cod sursa (job #2990641) | Cod sursa (job #1845276)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
#define NMax 5000001
deque<int> Min;
int n, k;
long long S, v[NMax];
int main()
{
int i;
fin>>n>>k;
for(i = 1; i <= n; i++)
fin>>v[i];
for(i = 1; i <= k; i++) {
while(!Min.empty() && v[i] <= v[Min.back()])
Min.pop_back();
Min.push_back(i);
}
S += v[Min.front()];
for(i = k + 1; i <= n; i++) {
if(Min.front() <= i - k)
Min.pop_front();
while(!Min.empty() && v[i] <= v[Min.back()])
Min.pop_back();
Min.push_back(i);
S += v[Min.front()];
}
fout<<S<<'\n';
return 0;
}