http://poj.org/problem?id=1017

 

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
    int space[4]={0,5,3,1};
    int a1,a2,a3,a4,a5,a6;
    while(cin>>a1>>a2>>a3>>a4>>a5>>a6&&(a1||a2||a3||a4||a5||a6)!=0){
        int ans=0;
        ans+=a6+a5+a4+ceil(a3/4.0); 
        int n2=5*a4+space[a3%4];//放3,4的箱子能放多少个2 
        if(n2<a2){
            ans+=ceil((a2-n2)/9.0);//2独立放箱子 
        }
        int n1=ans*36-a6*36-a5*25-a4*16-a2*4-a3*9;//在现有的箱子能放1的个数 
        if(n1<a1){
            ans+=ceil((a1-n1)/36.0); //1单独放箱子 
        }
        cout<<ans<<endl;;
    }
    return 0;
}