Pagini recente » Cod sursa (job #2933141) | Borderou de evaluare (job #2891569) | Cod sursa (job #2114697) | Cod sursa (job #2801531) | Cod sursa (job #1959851)
#include <bits/stdc++.h>
using namespace std;
ifstream in("deque.in");ofstream out("deque.out");
int n,k,v[500001],dq[500001]; long long sm=0;
int main() {
in>>n>>k;
for(int i=1;i <=n;++i) in>>v[i];
int primul=1; int ultimul=0;
for (int i=1;i <=n;++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;
}