CodeForces 765 C.able Tennis Game 2(水~)

Description

两人进行若干场比赛,一场比赛分若干轮,一场开始前两人分数均为 0 0 ,每轮胜者得一分,败者不得分,一方率先得到k分则该场比赛结束,给出 n n 场比赛之后两人的总得分a b b ,问该总得分是否合法,如果合法输出比赛场数n的最大值

Input

三个整数 k,a,b(1k109,0a,b109,a+b>0) k , a , b ( 1 ≤ k ≤ 10 9 , 0 ≤ a , b ≤ 10 9 , a + b > 0 )

Output

如果该比分合法则输出最大比赛场数 n n ,否则输出1

Sample Input

11 11 5

Sample Output

1

Solution

因为进行了完整的 n n 场比赛,故必有一方得分为k的整数倍,此时比赛场数最大为 ak+bk ⌊ a k ⌋ + ⌊ b k ⌋ ,否则无解,

Code

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<ctime>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
#define maxn 1111
int main()
{
    int k,a,b;
    while(~scanf("%d%d%d",&k,&a,&b))
        printf("%d\n",(a%k&&b/k==0||b%k&&a/k==0)?-1:(a/k+b/k)); 
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值