Pagini recente » Cod sursa (job #2477422) | Cod sursa (job #2261973) | Cod sursa (job #1107442) | Cod sursa (job #1112053) | Cod sursa (job #2888198)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
int v[5000000];
int n, k, i, l, r;
long long s;
int *deq = new int[5000000];
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;
}