Pagini recente » Cod sursa (job #2121501) | Cod sursa (job #2871754) | Cod sursa (job #1515452) | Cod sursa (job #2062570) | Cod sursa (job #2502234)
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
long long s;
deque <pair <int, int>> d;
int n, k, i, x;
fin >> n >> k;
for (i = 1; i<=k; i++)
{
fin >> x;
while (d.empty() == 0 && d.front().first > x)
d.pop_front();
d.push_front({x, i});
}
s = d.back().first;
for (i = k+1; i<=n; i++)
{
fin >> x;
if (i - d.back().second == k)
d.pop_back();
while (d.empty() == 0 && d.front().first > x)
d.pop_front();
d.push_front({x, i});
//fout << d.back().first << ' ';
s = s + d.back().first;
}
fout << s;
return 0;
}