Pagini recente » Cod sursa (job #2640781) | Cod sursa (job #1790574) | Cod sursa (job #307293) | Cod sursa (job #797521) | Cod sursa (job #3243827)
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
deque<pair<int, int>> coada;
long long s,n,k,i;
int main()
{
cin>>n>>k;
vector<int> v(n+1);
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=k;i++){
while(!coada.empty() && coada.back().first>=v[i])
coada.pop_back();
coada.push_back({v[i], i});
}
s+=coada.front().first;
for(i=k+1;i<=n;i++){
while(!coada.empty() && coada.back().first>=v[i])
coada.pop_back();
coada.push_back({v[i], i});
while(!coada.empty() && coada.front().second<=i-k)
coada.pop_front();
s+=coada.front().first;
}
cout<<s;
return 0;
}