Pagini recente » Cod sursa (job #332894) | Cod sursa (job #1026609) | Cod sursa (job #339888) | Cod sursa (job #2144603) | Cod sursa (job #3031620)
#include <iostream>
#include <fstream>
#include <deque>
#define NMAX 5000000
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int N, K;
long long answer;
int arr[NMAX];
deque<int> D;
int main()
{
fin >> N >> K;
for (int i = 0; i < N; ++i) {
fin >> arr[i];
}
answer = 0;
for (int i = 0; i < N; ++i) {
while (!D.empty() && arr[D.back()] >= arr[i]) {
D.pop_back();
}
D.push_back(i);
if (i >= K - 1) {
answer += arr[D.front()];
if (D.front() == i - K + 1) {
D.pop_front();
}
}
}
fout << answer << '\n';
return 0;
}