Pagini recente » Cod sursa (job #738839) | Cod sursa (job #473724) | Cod sursa (job #2593820) | Cod sursa (job #1979819) | Cod sursa (job #2876124)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long n,k,minim = INT_MAX,s;
int V[5000010];
deque < pair <int,int> > q;
int main()
{
fin>>n>>k;
for(int i = 1;i<=n;i++)
fin>>V[i];
for(int i = 1;i<=n;i++)
{
if(!q.empty() && (i - q.front().second) >=k)
q.pop_front();
if(!q.empty())
{
if(V[i]<=q.back().first)
{
while(V[i]<q.back().first && !q.empty())
q.pop_back();
}
q.push_back(make_pair(V[i],i));
}
else
q.push_back(make_pair(V[i],i));
if(i>=k && !q.empty())
s+=q.front().first;
}
fout<<s;
}