由 ∑i=1Ki=K(K+1)2\displaystyle \sum _{i=1} ^{K}i=\dfrac{K(K+1)}{2}i=1∑Ki=2K(K+1) 可得 K≥2N+14−12K \ge \sqrt{2N+\dfrac{1}{4}}-\dfrac{1}{2}K≥2N+41−21,直接套公式即可。
#include <bits/stdc++.h> using namespace std; int a[112]; int main() { long long n; cin >> n; long long res = sqrtl(2 * n + 0.25) + 0.49; if (res * (res + 1) < 2 * n) res++; cout << res << endl; return 0; }
注册一个 Sleeping Cup 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Sleeping Cup 通用账户