Pagini recente » Cod sursa (job #2803615) | Cod sursa (job #1763187) | Cod sursa (job #2027689) | Cod sursa (job #2775194) | Cod sursa (job #2730221)
#include<iostream>
#include<vector>
#include<fstream>
#include<deque>
#include<list>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int main()
{
long n, k, Sum = 0;;
f >> n >> k;
vector<long> v(n + 1);
deque<long> q;
for (long i = 1; i <= n; i++)
f >> v[i];
for (long 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;
}