嵊州D1T1 总统先生,一路走好!

嵊州D1T1

总统先生,一路走好!

在总统先生的所有财产就是 n 杯黑咖啡,咖啡店可以用 m 个空杯子换一杯黑咖啡。

因为总统的特殊身份,心地善良而心生怜悯的咖啡店店长决定先借给总统一杯黑咖啡,只要他最后 能还回来就好。

但是为了不在公众面前暴露总统的身份,店长的行为不能太过于引人注目,所以店长最多也只会先借给总统先生一杯黑咖啡。

现在,总统先生一共能喝多少杯黑咖啡?

尊严!正义!哪怕是一杯咖啡。

Input

一行两个整数 n, m。

Output

一行一个整数,表示总统最多能喝多少杯黑咖啡。

Examples

president.in    president.out
10 3    15
10 4 13

Notes

对于所有数据,满足 1 ≤ n ≤ 10^18 , 2 ≤ m ≤ 10^9。

Task1[30%]

n ≤ 10 , m ≤ 3

Task2[70%]

n ≤ 100 , m ≤ 10

Task3[100%]

无特殊限制


solve

#include<cstdio>
using namespace std;
int main()
{
    //freopen("president.in","r",stdin);
    //freopen("president.out","w",stdout);
    long long n,m,tn,k;
    scanf("%lld %lld",&n,&m);
    tn=n/m;//换来的黑咖啡 
    k=n%m+tn;//第一次换多余的空杯 
    while(k>=m){
        k-=m; 
        tn++;
        k++;
    } 
    if(k==m-1){
        tn++;
        k++;
    }
    printf("%lld",n+tn);
    return 0;
}

本来是70分,很纳闷啊。

对于所有数据,满足 1 ≤ n ≤ 10^18 , 2 ≤ m ≤ 10^9

哈哈哈我全用int了。要全改成long long啦


OK补全了30分咯!

原文地址:https://www.cnblogs.com/send-off-a-friend/p/11172422.html