Pagini recente » Cod sursa (job #799252) | Cod sursa (job #2826765) | Borderou de evaluare (job #1291279) | Cod sursa (job #2215903) | Cod sursa (job #3211210)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int main()
{
deque<int> a;
int n, v[5000001], s = 0, k;
in >> n >> k;
for(int i = 0; i < n; i++)
in >> v[i];
for(int i = 0; i < n; i++)
{
a.push_back(i);
while(!a.empty() && (v[i] < v[a.back()]))
{
a.pop_back();
}
if(i == a.front() + k)
{
a.pop_front();
}
if(i >= k - 1)
{
s = s + v[a.front()];
}
}
out << s;
return 0;
}