Pagini recente » Cod sursa (job #2673508) | Cod sursa (job #2314499) | Cod sursa (job #384327) | Cod sursa (job #167703) | Cod sursa (job #2553894)
#define MAX_N 5000000
#include <fstream>
#include <cstdint>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, f, b, A[MAX_N + 1], Dq[MAX_N + 1];
int64_t r;
int main()
{
fin >> n >> k;
for (int i = 1; i <= n; ++i)
{
fin >> A[i];
}
f = 1;
b = 0;
for (int i = 1; i <= n; ++i)
{
while ((f <= b) && (A[i] <= A[Dq[b]])) { --b; }
Dq[++b] = i;
if (Dq[f] == (i - k)) { ++f; }
if (i >= k) { r += A[Dq[f]]; }
}
fout << r;
fin.close();
fout.close();
return 0;
}