Pagini recente » Borderou de evaluare (job #2029708) | Cod sursa (job #195022) | Cod sursa (job #999017) | Cod sursa (job #3131604) | Cod sursa (job #2731404)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int sir_numere[5000001], deq[5000001];
int main()
{
int N, i, K, st=1, dr=0;
long long suma=0;
in >> N >> K;
for(i = 1; i <= N; i++)
in >> sir_numere[i];
for(i = 1; i <= N; i++)
{
while (st <= dr && sir_numere[i] <= sir_numere[deq[dr]])
dr--;
deq[++dr] = i;
if (deq[st] == i-K) st++;
if (i >= K)
suma += sir_numere[deq[st]];
}
out << suma;
return 0;
}