Pagini recente » Cod sursa (job #1492535) | Cod sursa (job #1491792) | Cod sursa (job #1243919) | Cod sursa (job #1492854) | Cod sursa (job #1630840)
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
fstream fin("deque.in",ios::in),fout("deque.out",ios::out);
deque<pair<int,int> > deq;
int main()
{
long long n,k,i,s=0,a;
fin>>n>>k;
for(i=1;i<=k;i++)
{
fin>>a;
while(!deq.empty() && deq.back().first>=a) deq.pop_back();
deq.push_back(make_pair(a,i));
}
s+=deq.front().first;
for(i=k+1;i<=n;i++)
{
fin>>a;
while(!deq.empty() && deq.back().first>=a) deq.pop_back();
while(!deq.empty() && deq.front().second<=i-k) deq.pop_front();
deq.push_back(make_pair(a,i));
s+=deq.front().first;
}
fout<<s;
}