Pagini recente » Cod sursa (job #90639) | Istoria paginii runda/tp4 | Cod sursa (job #2990731) | Cod sursa (job #105899) | 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;
}