两人进行几局乒乓球,每局先得到 k 分的获胜,给出两人几局下来总得分a,b,求最多打了几局,不可能的组合输出-1。
最多局数就是 a 有几个 k 和 b 有几个 k;
可能的情况比较多,(a,b >= k)肯定合法, (a,b < k) 肯定不合法;
考虑的主要是一大一小,并且 $min(a,b) < k $ 和 (max(a,b)) 是不是 k 的倍数的情况,$ max(a,b)$比 k 小和 (min(a,b))比 k 大不用考虑;
如果 (max(a,b))不是 k 的倍数,也就是说 (min(a,b))肯定赢过一局,至少得过 k 分;
例如 (k=2, a=1, b=3) 两场可能的比赛状况([a=1,b=2] [a=0,b=1]) 但是第二局没有结束;
int main(int argc, const char * argv[]) {
int k,a,b;
cin >>k >>a >>b;
if (min(a,b) < k && max(a,b)%k)
cout <<-1<<endl;
else
cout <<(a/k + b/k)<<endl;
return 0;
}