Pagini recente » Cod sursa (job #420802) | Cod sursa (job #256577) | Cod sursa (job #2659359) | Cod sursa (job #197202) | Cod sursa (job #508474)
Cod sursa(job #508474)
#include <stdio.h>
#include <deque>
#include<set>
using namespace std;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
deque<long> dec;
set<long> ord;
long n,k,s=0,times=0;
scanf("%ld%ld\n",&n,&k);
for(long i=0;i<n;i++)
{
/*times++;
int x;
scanf("%d\n",&x);
if(dec.size()>0) if(x<dec.back()) dec.pop_front();
dec.push_back(x);
s+=dec.front();
if(times==k)
{
times=0;
dec.pop_front();
}*/
long int x;
scanf("%ld\n",&x);
times++;
ord.insert(x);
dec.push_back(x);
//int w=*ord.begin();
if(times==k)
{
times=2;
s+=*ord.begin();
ord.erase(dec.front());
dec.pop_front();
}
}
printf("%ld\n",s);
return 0;
}