Pagini recente » Cod sursa (job #877660) | Cod sursa (job #2336676) | Cod sursa (job #540549) | Cod sursa (job #2140648) | Cod sursa (job #1069824)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <pair <int,int> > deck;
int 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;
}