Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
67905 | Alphys | 集合 | C++ | 运行出错 | 0 | 0 MS | 228 KB | 477 | 2023-01-20 20:36:48 |
#include<bits/stdc++.h> #define ll long long using namespace std; ll n,p,k; int main(){ freopen("set.in","r",stdin); freopen("set.out","w",stdout); scanf("%lld%lld%lld", &n, &k, &p); if(n<k){ printf("%lld", n*p); return 0; } ll tot=k,ans=k*p,tmp=k*k; for(int i=1;i<p;i++){ if(tot+tmp-tmp/k<n){ tot+=tmp-tmp/k; ans+=(tmp-tmp/k)*(p-i); } else { ans+=(n-tot)*(p-i); break; } tmp*=k; } printf("%lld", ans); return 0; }