Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
30396 gaochunzhen 【S】T1 C++ 运行出错 90 111 MS 131324 KB 979 2024-07-19 13:31:26

Tests(9/10):


#include <bits/stdc++.h> using namespace std; typedef long long ll; vector<ll> fac; ll x, k, m, now, ans; void dfs(ll u, ll d) { if (u == 1) { ans++; if (++now == m) { printf("%lld\n", ans); fclose(stdin); fclose(stdout); exit(0); } return; } if (d == k) { ans += u; if (++now == m) { printf("%lld\n", ans); fclose(stdin); fclose(stdout); exit(0); } return; } for (ll i : fac) { if (i > u) break; if (u % i) continue; dfs(i, d + 1); } } int main() { scanf("%lld%lld%lld", &x, &k, &m); for (ll i = 1; i <= sqrtl(x); i++) { if (x % i) continue; fac.push_back(i); if (i != x / i) fac.push_back(x / i); } sort(fac.begin(), fac.end()); dfs(x, 0); printf("%lld\n", ans); return 0; }


测评信息: