Pagini recente » Cod sursa (job #3307165) | Cod sursa (job #1244995) | Cod sursa (job #834441) | Atasamentele paginii Profil sebzzzzzzzz | Cod sursa (job #3303744)
#include <iostream>
#include <stack>
#include <queue>
#include <deque>
using namespace std;
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
int n, k; cin >> n >> k;
vector<int> a(n + 1);
for(int i = 1; i <= n; i++)
cin >> a[i];
deque<int> d;
long long s = 0;
for(int i = 1; i <= n; i++){
int j = i - k + 1;
while(!d.empty() && a[i] < d.back())
d.pop_back();
d.push_back(a[i]);
if(i >= k) s+=d.front();
if(j >= 1 && a[j] == d.front()) d.pop_front();
}
cout << s;
}