Pagini recente » Borderou de evaluare (job #1720004) | Borderou de evaluare (job #1566674) | Borderou de evaluare (job #286968) | Borderou de evaluare (job #473721) | Cod sursa (job #2889599)
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
#define nmax 5000010
int elemente[nmax], dq[nmax];
int main() {
int n, k, i, front = 1, back = 0 ;
long long suma = 0;
in >> n >> k;
for (i = 1; i <= n; i++)
in >> elemente[i];
for (i = 1; i <= n; i++) {
while (back >= front && elemente[dq[back]] >= elemente[i])
back--;
dq[++back] = i;
if (dq[front] == i-k)
front++;
if (i >= k)
suma += elemente[dq[front]];
}
out << suma;
return 0;
}