Pagini recente » Cod sursa (job #1512773) | Cod sursa (job #1308825) | Cod sursa (job #2606379) | Cod sursa (job #2354639) | Cod sursa (job #1792440)
#include <cstdio>
#include <deque>
#define nmax 10000001
using namespace std;
deque<int>deck;
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
int n, k, minim1, minim2, sum=0;
scanf("%d%d", &n, &k);
minim1=minim2=nmax;
while(n)
{
int nr;
scanf("%d", &nr);
deck.push_back(nr);
if(minim1>nr)
{
minim2=minim1;
minim1=nr;
}
else
if(minim2>nr)
minim2=nr;
if(deck.size()==k)
{
sum+=minim1;
if(minim1==deck.front())
minim1=minim2;
deck.pop_front();
if(minim1==deck.front())
minim2=deck.back();
else
minim2=deck.front();
}
n--;
}
printf("%d\n", sum);
return 0;
}