Pagini recente » Cod sursa (job #1050776) | Cod sursa (job #1042148) | Cod sursa (job #1424496) | Cod sursa (job #1944638) | Cod sursa (job #2730224)
#include<iostream>
#include<vector>
#include<fstream>
#include<deque>
#include<list>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
int n, k;
long Sum = 0;;
f >> n >> k;
vector<int> v(n + 1);
deque<int> q;
for (int i = 1; i <= n; i++)
f >> v[i];
for (int i = 1; i <= n; i++)
{
while (!q.empty() && v[i] <= v[q.back()])
q.pop_back();
q.push_back(i);
if (q.front() <= i - k)
q.pop_front();
if (i >= k)
Sum += v[q.front()];
}
g << Sum;
}