记录编号 458575 评测结果 AAAAAAAAAA
题目名称 天黑请闭眼 最终得分 100
用户昵称 Gravatarrewine 是否通过 通过
代码语言 C++ 运行时间 0.343 s
提交时间 2017-10-11 16:25:59 内存使用 0.31 MiB
显示代码纯文本
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
typedef long long LL;
 
void read(int &x) {
    char c; bool flag = 0;
    while((c=getchar())<'0'||c>'9') flag |= (c=='-');
    x=c-'0';while((c=getchar())>='0'&&c<='9') x=x*10+c-'0';
    if(flag) x = -x;
}

int tp = 0; 

int t,n,k;

int slove(int n,int k) {
	int res = 0;
	if(n <= k) {
	   for (int i = 2; i <= n; i++) res = (res+k)%i;
	   return res;
	}
	int t = slove(n-n/k,k);
	if(t < n%k) return t+n-n%k;
	t -= n%k;
	return t + t/(k-1);
}

int main() {
	freopen("jos.in","r",stdin); freopen("jos.out","w",stdout);
    int __size__=128<<20;
    char *__p__=(char*)malloc(__size__)+__size__; 
    __asm__("movl %0, %%esp\n"::"r"(__p__));
	read(n); read(k);
	printf("%d\n",slove(n,k)+1);
    return 0;
}