Pagini recente » Cod sursa (job #1509371) | Cod sursa (job #2856699) | Cod sursa (job #611321) | Cod sursa (job #3192911) | Cod sursa (job #2568006)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <utility>
#include <cmath>
#include <string>
#include <cstring>
#define ll long long
using namespace std;
int main() {
ifstream in("deque.in");
ofstream out("deque.out");
int n, k;
in >> n >> k;
vector<int> v(n + 1, 0);
for(int i = 1; i <= n; i ++)
in >> v[i];
vector<int> d(n + 1, 0);
int l = 1, r = 0;
ll ans = 0;
for(int i = 1; i <= n; i ++) {
while(l <= r && v[d[r]] > v[i])
r --;
d[++ r] = i;
while(l <= r && i - d[l] + 1 > k)
l ++;
if(i >= k)
ans += (1LL * v[d[l]]);
}
out << ans;
return 0;
}