Pagini recente » Cod sursa (job #2547469) | Cod sursa (job #450503) | Cod sursa (job #1858674) | Cod sursa (job #3154731) | Cod sursa (job #3298714)
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,k;
cin>>n>>k;
vector<int> v(n);
deque<int> q;
for (int i=0;i<n;i++){
cin>>v[i];
}
for (int i=0;i<k;i++){
while (!q.empty() && v[q.back()]>=v[i]){
q.pop_back();
}
q.push_back(i);
}
long long ans=v[q.front()];
for (int i=k;i<n;i++){
while (!q.empty() && q.front()<i-k+1){
q.pop_front();
}
while (!q.empty() && v[q.back()]>=v[i]){
q.pop_back();
}
q.push_back(i);
ans+=v[q.front()];
}
cout<<ans;
return 0;
}