Carl is a beginner magician. He has a blue, b violet and c orange magic spheres. In one move he can transform two spheres of the same color into one sphere of any other color. To make a spell that has never been seen before, he needs at least x blue, y violet andz orange spheres. Can he get them (possible, in multiple actions)?
The first line of the input contains three integers a, b and c (0 ≤ a, b, c ≤ 1 000 000) — the number of blue, violet and orange spheres that are in the magician's disposal.
The second line of the input contains three integers, x, y and z (0 ≤ x, y, z ≤ 1 000 000) — the number of blue, violet and orange spheres that he needs to get.
If the wizard is able to obtain the required numbers of spheres, print "Yes". Otherwise, print "No".
4 4 0 2 1 2
Yes
5 6 1 2 7 2
No
3 3 3 2 2 2
Yes
In the first sample the wizard has 4 blue and 4 violet spheres. In his first action he can turn two blue spheres into one violet one. After that he will have 2 blue and 5 violet spheres. Then he turns 4 violet spheres into 2 orange spheres and he ends up with 2 blue, 1 violet and 2 orange spheres, which is exactly what he needs.
解题报告:Codeforces Round #335 Problem Analysis
题意
有三个物体 , 你现在分别有a,b,c个 ,你希望每种物品至少x,y,z个
然后两种相同的物品可以换成一个其他的物品 ,问你是否能够满足
#include
#include
#include
#include
#include
using namespace std; int a[10],b[10]; int main() { int i,j; int x,y,z,sum=0,ans=0; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<3;i++) { scanf("%d",&b[i]); if(a[i]>=b[i]) sum+=(a[i]-b[i])/2; else ans+=b[i]-a[i]; } if(sum>=ans) printf("Yes\n"); else printf("No\n"); return 0; }