Pagini recente » Cod sursa (job #3146607) | Cod sursa (job #314279) | Cod sursa (job #3231468) | Cod sursa (job #60095) | Cod sursa (job #2731580)
#include<iostream>
#include<fstream>
using namespace std;
int deq[5000000];
int main() {
ifstream f("deque.in");
ofstream g("deque.out");
int n, k, suma = 0;
f >> n;
f >> k;
int* A = new int[n];
for (int i = 0; i < n; i++)
f >> A[i];
int start = 0, stop = -1;
for (int i = 0; i < n; i++) {
while (start <= stop && A[i] <= A[deq[stop]])
stop--;
deq[++stop] = i;
if (deq[start] == i - k)
start++;
if (i + 1 >= k)
suma += A[deq[start]];
}
g << suma;
delete[]A;
return 0;
}