题目描述
MH有三种玩具,价值分别是1元、2元、3元。可是他快要考试了,所以他想把玩具分给他的两个好朋友小明和小亮,他想尽量使两个人得到的玩具的价值总和之差最小,这样才不会让他们两个人打架,现在给出3种玩具的数量,请求出最小的差值(请输出正数)。
输入描述:
第一行输入a,b,c,分别为1元的玩具数量,2元的玩具数量,3元的玩具数量(1<=a,b,c<=1e18)
输出描述:
输出一个数为最小差值
示例1
输入
1 2 1
输出
0
说明
小明得到一个1元的,一个3元的,小亮得到两个两元的,两人的差值为 0
令S=a+2b+3c,即所有数的和。那么用这些数一定能凑出来[1∼S]中的任何一个整数。因为a,b,c⩾1,那么先贪心的用3凑,这样要么3没了,要么余数小于3,因此再用2和1必定能凑出来。 那么就分成⌊S/2⌋和⌈S/2⌉两组即可,进而得出,当S为奇数的时候答案为1,偶数的时候答案为0.
int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); if((a+b*2+c*3)%2==0) printf("0"); else printf("1"); }