Pagini recente » Atasamentele paginii template/algoritmiada-2011 | Cod sursa (job #1838035) | Cod sursa (job #3181583) | Cod sursa (job #1061043) | Cod sursa (job #2973023)
#include <bits/stdc++.h>
using namespace std;
int deq[5000005], a[5000005];
int main(void){
ofstream cout("deque.out");
ifstream cin("deque.in");
int n, k;
cin >> n >> k;
int st = 1, dr = 0;
long long int s = 0;
for(int i = 1;i<=n;i++){
cin >> a[i];
}
deq[1] = 1;
dr =1;
for(int i = 1;i<=n;i++){
while(st<=dr && a[i] <= a[deq[dr]]){
dr--;
}
deq[++dr] = i;
if(i - deq[st] == k){
st++;
}
if(i >= k){
s += a[deq[st]];
}
}
cout << s;
}