fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4.  
  5. int f(int k, int m) {
  6. if (m <= k) {
  7. return m * (m + 1) / 2;
  8. }
  9. int A = k * (k + 1) / 2;
  10.  
  11. int r = m - k;
  12. int B = r * (2 * k - r + 1) / 2;
  13.  
  14. return A + B;
  15. }
  16.  
  17. void solve() {
  18. int k, x;
  19. cin >> k >> x;
  20.  
  21. int l = 1, r = 2 * k, ans = r;
  22.  
  23. while (l <= r) {
  24. int m = (l + r) / 2;
  25.  
  26. if (f(k, m) >= x) {
  27. ans = m;
  28. r = m - 1;
  29. } else {
  30. l = m + 1;
  31. }
  32. }
  33.  
  34. cout << ans << "\n";
  35. }
  36.  
  37. int32_t main() {
  38. ios::sync_with_stdio(false);
  39. cin.tie(nullptr);
  40.  
  41. int t;
  42. cin >> t;
  43. while (t--) solve();
  44. }
  45.  
Success #stdin #stdout 0.01s 5308KB
stdin
7
4 6
4 7
1 2
3 7
2 5
100 1
1000000000 923456789987654321
stdout
3
4
2
4
3
1
1608737401