Pagini recente » Cod sursa (job #532182) | Cod sursa (job #44506) | Cod sursa (job #2793482) | Cod sursa (job #1814989) | Cod sursa (job #1847475)
#include<fstream>
#include<string>
#include<deque>
using namespace std;
#define goguta pair<int,int>
const int NMAX=5000000;
int v[NMAX+5];
deque<goguta> q;
int main()
{
ifstream cin("deque.in");
ofstream cout("deque.out");
int n,k;
long long s=0;
cin>>n>>k;
for(int i=1;i<=n;++i)
cin>>v[i];
for(int i=1;i<=n;++i)
{
while(!q.empty() && q.back().first>=v[i])
q.pop_back();
q.push_back(goguta(v[i],i));
if(i>=k)
{
while(!q.empty() && i-q.front().second+1>k)
q.pop_front();
s+=q.front().first;
}
}
cout<<s;
return 0;
}