Pagini recente » Cod sursa (job #1287598) | Cod sursa (job #43740) | Cod sursa (job #2136084) | Cod sursa (job #45949) | Cod sursa (job #1753757)
#include <fstream>
#include <deque>
using namespace std;
int main()
{
ifstream fin;
ofstream fout;
fout.open("deque.out");
fin.open("deque.in");
int n, k;
deque<int> deque;
int *v = new int[n +1]();
fin >> n >> k;
long long sum = 0;
for(int i = 1; i <= n; i++)
{
fin >> v[i];
while(!deque.empty() && v[i] <= v[deque.back()])
deque.pop_back();
deque.push_back(i);
if(i - k == deque.front())
deque.pop_front();
if(i >= k)
sum = sum + v[deque.front()];
}
fout << sum;
fin.close();
fout.close();
return 0;
}