bzoj#P3107. [cqoi2013]二进制a+b

[cqoi2013]二进制a+b

题目描述

输入三个整数 a,b,ca, b, c,把它们写成无前导 00 的二进制整数。 比如 a=7,b=6,c=9a=7, b=6, c=9,写成二进制为 a=111,b=110,c=1001a=111, b=110, c=1001。接下来以位数最多的为基准,其他整数在前面添加前导 00,使得 a,b,ca, b, c 拥有相同的位数。比如在刚才的例子中,添加完前导 00 后为 a=0111,b=0110,c=1001a=0111, b=0110, c=1001。最后,把 a,b,ca, b, c 的各位进行重排,得到 a,b,c a^{\prime}, b^{\prime}, c^{\prime},使得a+b=ca^{\prime}+b^{\prime}=c^{\prime}。比如在刚才的例子中,可以这样重排:a=0111,b=0011,c=1010a^{\prime}=0111, b^{\prime}=0011, c^{\prime}=1010。 你的任务是让 cc^{\prime} 最小。如果无解,输出 -1

输入格式

输入仅一行,包含三个整数 a,b,ca, b, c

输出格式

仅一行,为 c c^{\prime} 的最小值。

7 6 9
10

数据规模与约定

对于 100%100\% 的数据,a,b,c230a,b,c \le 2^{30}