Pagini recente » Cod sursa (job #2113729) | Cod sursa (job #454841) | Cod sursa (job #2463943) | Cod sursa (job #977663) | Cod sursa (job #936926)
Cod sursa(job #936926)
#include <fstream>
#include <deque>
using namespace std;
int main() {
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k;
fin >> n >> k;
long long ans = 0;
deque<pair<int,int> > min;
int a;
for (int i = 1; i <= n; ++i) {
fin >> a;
while (!min.empty() && min.back().second >= a) min.pop_back();
min.push_back(pair<int,int>(i,a));
if (min.front().first == i-k) min.pop_front();
if (i >= k) ans += min.front().second;
}
fout << ans;
return 0;
}