链接: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;
}