题意:参考了这里的思路点击打开链接
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int arr[7];
int three[4][2] = {{0,0},{7,5},{6,3},{5,1}};
int main()
{
while (scanf("%d%d%d%d%d%d",&arr[1],&arr[2],&arr[3],&arr[4],&arr[5],&arr[6]) != EOF)
{
if (arr[1]+arr[2]+arr[3]+arr[4]+arr[5]+arr[6] == 0)
break;
int ans = (arr[3]+3)/4+arr[4]+arr[5]+arr[6];
arr[1] -= arr[5]*11;
int left_for_2 = three[arr[3]%4][1] + arr[4]*5;
if (arr[2] <= left_for_2)
{
arr[1] -= three[arr[3]%4][0];
arr[2] -= left_for_2;
arr[1] += arr[2] * 4;
if (arr[1] > 0)
ans += (arr[1]+35) / 36;
}
else
{
arr[1] -= three[arr[3]%4][0];
arr[2] -= left_for_2;
ans += (arr[2]+8) / 9;
arr[1] -= (9-arr[2]%9) * 4;
if (arr[1] > 0)
ans += (arr[1]+35) / 36;
}
printf("%d\n",ans);
}
return 0;
}