Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
133813 | 吴晨曦 | 最优分解 | C++ | 通过 | 100 | 0 MS | 256 KB | 472 | 2024-03-02 09:33:27 |
#include <bits/stdc++.h> using namespace std; const int N = 1e6 + 005; int a[N]; long long u(int n) { int k = 0; for (int i = 2; n > a[k]; i++) { a[++k] = i; n -= i; } if (n == a[k]) a[k]++; for (int i = 0; i < n; i++) a[k - i]++; long long sum = 1; for (int i = 1; i <= k; i++) sum *= a[i]; return sum; } int main() { int n; cin >> n; cout << u(n) << endl; }