编程题
### 问题描述 大衣有三个整数 $A,B,C$,他可以进行以下操作: - 选择 $A,B,C$ 之中的两个整数,将它们加上 $1$,将剩余的那个整数减去 $1$。 如果能通过一定次数的操作让 $A,B,C$ 最终相等,输出最小的操作次数,否则输出 $-1$。 ### 输入格式 第一行输入一个正整数 $T​$ 表示测试数据的组数。 接下来 $T$ 组测试数据每组输入一行,每行输入三个整数 $A,B,C$。 ### 输出格式 对于每组测试数据,如果能通过一定次数的操作让 $A,B,C$ 最终相等,输出最小的操作次数,否则输出 $-1$,并换行。 ### 样例输入 ```text 4 1 1 2 3 7 3 4 4 4 1 2 3 ``` ### 样例输出 ```text -1 2 0 -1 ``` ### 说明 样例 $1​$:可以证明无论怎么操作都无法使 $A,B,C​$ 相等。 样例 $2​$:至少需要 $2​$ 次操作才能使 $A,B,C​$ 相等: - 选择两个整数 $A,C$,将它们加一得 $A=3+1=4,C=3+1=4$,将剩余的整数 $B$ 减一得 $B=7-1=6$。 - 选择两个整数 $A,C$,将它们加一得 $A=4+1=5,C=4+1=5$,将剩余的整数 $B$ 减一得 $B=6-1=5$。 此时,$A,B,C$ 这三个整数已经相等。 样例 $3$:因为三个整数已经相等,所以不需要进行操作。 样例 $4$:可以证明无论怎么操作都无法使 $A,B,C$ 相等。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 10^5$,$1\le A,B,C\le10^9$。
查看答案
赣ICP备20007335号-2