链接:https://ac.nowcoder.com/acm/contest/11222/C 来源:牛客网
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[10];
int main(){
ll sum=0;
for(int i=1;i<=8;i++)cin>>a[i];
for(int i=1;i<=8;i++){
if(a[i]==5){//为5的时候特判,不能构成更多的3或4
sum+=i*4;
a[i+1]+=1;
}
else if(a[i]>=3){
if(a[i]%3<=a[i]/3){//整除3,为了使用更多的糖果(最好乘4),需要凑成4
//所以当余数小与等于除3的个数时,就可以全拿来凑成4,剩下的作3乘
int k=a[i]%3;
sum+=k*4*i+(a[i]/3-k)*3*i;
a[i+1]+=(a[i]/3);
}
}
}
cout<<sum;
return 0;
}