1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; #define int long long int n, m, k; signed main() { cin >> n >> m >> k; m -= n; int l = 0, r = m; while (l < r) { int mid = (l + r + 1) >> 1; int t1 = max((int)0, mid - (k - 1)); int t2 = max((int)0, mid - (n - k)); int s = (t1 + mid) * (mid - t1 + 1) / 2 + (t2 + mid) * (mid - t2 + 1) / 2 - mid; if (s > m) r = mid - 1; else l = mid; } cout << l + 1 << endl; return 0; }
- 1
信息
- ID
- 538
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者