Pagini recente » Cod sursa (job #1504715) | Cod sursa (job #341678) | Cod sursa (job #2612622) | Cod sursa (job #2532526) | Cod sursa (job #1759722)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <queue>
using namespace std;
queue <int> qfr,qin;
int main(){
int val,valtot=0;
int n,m,i,x,t;
freopen("scandura.in","r",stdin);
freopen("scandura.out","w",stdout);
scanf("%d%d",&n,&m);
t=n;
while( (t -1) %(m-1) ){
t++;
qfr.push(0);
}
for(i=0;i<n;i++){
scanf("%d",&x);
qfr.push(x);
}
while( !(qfr.size()==0 && qin.size()==1) ){
val=0;
for(i=0;i<m;i++){
if(qin.empty() && qfr.empty()){
break;
}
if(qin.empty()){
val+=qfr.front();
qfr.pop();
}else if(qfr.empty()){
val+=qin.front();
qin.pop();
}else{
if(qin.front()<qfr.front()){
val+=qin.front();
qin.pop();
}else{
val+=qfr.front();
qfr.pop();
}
}
}
valtot+=val;
qin.push(val);
}
printf("%d",valtot);
return 0;
}