Pagini recente » Cod sursa (job #3182999) | Cod sursa (job #3267892) | Cod sursa (job #2464031) | Cod sursa (job #254541) | Cod sursa (job #3226478)
#include <iostream>
#include<deque>
#include<vector>
#include<fstream>
using namespace std;
int v[5000000];
int n, k;
ifstream fin("deque.in");
ofstream fout ("deque.out");
void citire()
{
fin >> n >> k;
for(int i = 0; i < n; ++i)
fin >> v[i];
}
long sum()
{
deque<int> coada;
long s = 0;
for(int i =0; i < n; ++i)
{
while(!coada.empty() && v[i] <= v[coada.back()])
coada.pop_back();
coada.push_back(i);
if(coada.front() == i-k)
coada.pop_front();
if(i>=k-1)
s+=v[coada.front()];
}
return s;
}
int main()
{
citire();
fout << sum();
return 0;
}