Pagini recente » Cod sursa (job #1434375) | Cod sursa (job #2540319) | Cod sursa (job #1750873) | Cod sursa (job #1302338) | Cod sursa (job #2502548)
#include <fstream>
#include <iostream>
#include <deque>
std::ifstream fin("deque.in");
std::ofstream fout("deque.out");
std::deque<std::pair<int,int>> A;
int N, K, X, count = 1, poz=1;
int S;
int main()
{
fin >> N >> K;
for (int i = 1; i <= N; i++) {
fin >> X;
if (!A.empty() and i - K == A.front().second)
A.pop_front();
while (!A.empty() and X <= A.back().first)
A.pop_back();
A.push_back(std::make_pair(X,i));
if (i >= K)
S += A.front().first;
}
fout << S;
}