Pagini recente » Cod sursa (job #2820932) | Cod sursa (job #743289) | Cod sursa (job #1975087) | Cod sursa (job #3286752) | Cod sursa (job #2834359)
#include <fstream>
#include <deque>
using namespace std;
int64_t a[5000001];
int main(){
ifstream cin("deque.in");
ofstream cout("deque.out");
deque < int > Dq;
int n, k;
cin >> n >> k;
for(int i = 1; i <= k; ++i){
cin >> a[i];
while( ! Dq.empty() && a[Dq.back()] >= a[i])
Dq.pop_back();
Dq.push_back(i);
}
int64_t ans = a[Dq.front()];
for(int i = k + 1; i <= n; ++i){
cin >> a[i];
while( ! Dq.empty() && a[Dq.back()] >= a[i])
Dq.pop_back();
Dq.push_back(i);
if(Dq.front() == i - k)
Dq.pop_front();
ans += a[Dq.front()];
}
cout << ans;
return 0;
}