Pagini recente » Cod sursa (job #1728228) | Cod sursa (job #1039281) | Cod sursa (job #2590683) | Cod sursa (job #2041320) | Cod sursa (job #2888200)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
int v[5000001];
int n, k, i, l, r;
long long s;
int *deq = new int[5000001];
int main()
{
f>>n>>k;
for (i = 1; i <= n; i++)
f>>v[i];
l = 1;
r = 0; //deque-ul este vid
for (i = 1; i <= n; i++)
{
while (l <= r && v[i] <= v[ deq[r] ])
r--;
deq[++r] = i;
if (deq[l] == i-k) l++;
if (i >= k)
s += v[ deq[l]];
}
delete[] deq;
g<<s;
return 0;
}