Pagini recente » Cod sursa (job #1126653) | Cod sursa (job #40191) | Cod sursa (job #2589979) | Cod sursa (job #851551) | Cod sursa (job #1069829)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <pair <long long,long long> > deck;
long long n,k,i,nr,s;
int main(void)
{
s=0;
ifstream f("deque.in");
ofstream g("deque.out");
f>>n>>k;
for (i=1;i<k;i++)
{
f>>nr;
while ((!deck.empty())&&(deck.front().first>nr))
deck.pop_front();
deck.push_front(make_pair(nr,i));
}
for (i=k;i<=n;i++)
{
if (deck.back().second==i-k)
deck.pop_back();
f>>nr;
while ((!deck.empty())&&(deck.front().first>nr))
deck.pop_front();
deck.push_front(make_pair(nr,i));
s+=deck.back().first;
}
g<<s;
return 0;
}