Pagini recente » Cod sursa (job #2440131) | Cod sursa (job #1917137) | Cod sursa (job #1106671) | Cod sursa (job #1916038) | Cod sursa (job #1699898)
#include <fstream>
#include <queue>
using namespace std;
int main()
{
int N, K, i, x;
ifstream f("deque.in");
f >> N >> K;
deque<pair<int, int>> dq;
for (i = 0; i < K; i++)
{
f >> x;
while (!dq.empty() && dq.back().first >= x)
dq.pop_back();
dq.push_back({x, i});
}
long long sum = dq.front().first;
for (i = K; i < N; i++)
{
f >> x;
if (i - dq.front().second + 1 > K)
dq.pop_front();
while (!dq.empty() && dq.back().first >= x)
dq.pop_back();
dq.push_back({x, i});
sum += dq.front().first;
}
f.close();
ofstream g("deque.out");
g << sum;
g.close();
return 0;
}