嵊州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
#includeusing 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分咯!