Pagini recente » Cod sursa (job #2443496) | Cod sursa (job #1422541) | Cod sursa (job #613151) | Cod sursa (job #671050) | Cod sursa (job #2671496)
#include <bits/stdc++.h>
using namespace std;
deque< pair <int, int> >coada;
int main()
{
ifstream cin("deque.in");
ofstream cout("deque.out");
long long int n, k, sol = 0;
cin >> n >> k;
for(int i = 1; i < k - 1; i ++)
{
int a;
cin >> a;
while(coada.front().first > a && !coada.empty())
coada.pop_back();
coada.push_back(make_pair(a, i));
}
for(int i = k - 1; i <= n; i ++)
{
int a;
cin >> a;
while(coada.front().first > a && !coada.empty())
coada.pop_back();
coada.push_back(make_pair(a, i));
while(coada.front().second <= i - k &&!coada.empty() )
{
coada.pop_front();
}
sol += coada.front().first;
}
cout << sol;
return 0;
}