Pagini recente » Cod sursa (job #104169) | Cod sursa (job #1977264) | Cod sursa (job #2683208) | Cod sursa (job #1959809) | Cod sursa (job #2887742)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
deque <pair <long long, long long>> v; // (valoare, pozitie)
long long n, x, k, suma = 0;
fin>>n>>k;
for(int i = 1; i <= n; i++)
{
fin>>x;
while(!v.empty() && x < v.back().first)
v.pop_back();
v.push_back(make_pair(x, i));
while(!v.empty() && v.front().second <= i-k)
v.pop_front();
if( i>=k)
suma += v.front().first;
}
fout<<suma;
return 0;
}