Pagini recente » Istoria paginii utilizator/georges | Cod sursa (job #183599) | Autentificare | Cod sursa (job #1959851) | Cod sursa (job #1959875)
#include <bits/stdc++.h>
using namespace std;
ifstream in("deque.in");ofstream out("deque.out");
long long n,k,v[500001],dq[500001]; long long sm=0;
int main() {
in>>n>>k;
int primul=1; int ultimul=0;
for (int i=1;i <=n;++i) {
in >>v [i];
while (primul <=ultimul&&v[i]<=v[dq [ultimul]]) ultimul--;
dq [++ultimul]=i;
if (dq [primul]==i-k) primul++;
if (i>=k) sm+=v [dq[primul]];
}
out <<sm;
return 0;
}