Pagini recente » Cod sursa (job #786763) | Cod sursa (job #785060) | Cod sursa (job #2068254) | Cod sursa (job #814239) | Cod sursa (job #2563883)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<pair<int,int> > deq;
int n,k,a,sum,i;
int main()
{
fin>>n>>k;
for(i=0; i<k; i++)
{
fin>>a;
while(deq.size()>0)
{
if(deq.back().first>a)
{
deq.pop_back();
}
else break;
}
deq.push_back(make_pair(a,i));
}
sum+=deq.front().first;
for(i=k; i<n; i++)
{
fin>>a;
while(deq.size()>0)
{
if(deq.back().first>a)
{
deq.pop_back();
}
else break;
}
deq.push_back(make_pair(a,i));
while(deq.size()>0)
{
if(deq.front().second<=i-k)
{
deq.pop_front();
}
else break;
}
sum+=deq.front().first;
}
fout<<sum;
return 0;
}