Pagini recente » Cod sursa (job #1086799) | Cod sursa (job #798742) | Cod sursa (job #1856991) | Cod sursa (job #1273535) | Cod sursa (job #3239208)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
deque<int>q;
int v[5000005];
int main()
{
int n,k;
cin>>n>>k;
for(int i=1; i<=n; i++)
cin>>v[i];
for(int i=1; i<k; i++)
{
while(!q.empty() && v[i]<v[q.back()])
q.pop_back();
q.push_back(i);
}
long long s=0;
for(int i=k; i<=n; i++)
{
while(!q.empty() && v[i]<v[q.back()])
q.pop_back();
while(!q.empty() && i-q.front()>=k)
q.pop_front();
q.push_back(i);
//cout<<q.front()<<'\n';
s+=v[q.front()];
}
cout<<s;
return 0;
}