Pagini recente » Cod sursa (job #693646) | Cod sursa (job #33742) | Cod sursa (job #510525) | Cod sursa (job #2180688) | Cod sursa (job #3171251)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<pair<int,int> >d;
int main()
{
int n,k,x;
fin >> n >> k;
for(int i=1; i<=k; i++)
{
fin >> x;
while(d.size()>0 && d.back().second >= x)
d.pop_back();
d.push_back(make_pair(i,x));
}
long long s=d.front().second;
for(int i=k+1; i<=n; i++)
{
fin >> x;
while(d.size()>0 && d.front().first <= i-k)
d.pop_front();
while(d.size()>0 && d.back().second >= x)
d.pop_back();
d.push_back(make_pair(i,x));
s+=d.front().second;
}
fout << s;
return 0;
}