fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define Samurai ios_base::sync_with_stdio(false), cout.tie(NULL), cin.tie(NULL);
  5. #define pr_g priority_queue<pair<ll,int>, vector<pair<ll,int>>,greater<pair<ll,int>>>
  6. int dx [] = {0, 0, 1, -1, 1, 1, -1, -1};
  7. int dy [] = {-1, 1, 0, 0, -1, 1, 1, -1};
  8. char dir [] = {'>', '<', '^', 'v'};
  9. int Lx[] = {2, 2, -2, -2, 1, 1, -1, -1};
  10. int Ly[] = {1, -1, 1, -1, 2, -2, 2, -2};
  11. const double PI = acos(-1.0);
  12. #define el '\n'
  13. const ll mod = 1e9 + 7, N = 2e5 + 5, OO = 0x3f3f3f3f;
  14. ll count (int r) {
  15. if (r == 0)
  16. return 1;
  17. ll p = 0;
  18. for (int x = 1; x <= r; ++x) {
  19. ll y = r * r - x * x;
  20. y = sqrt(y);
  21. p += y;
  22. }
  23. p = p * 4 + 4 * r + 1;
  24. return p;
  25. }
  26. void solve() {
  27. int k; cin >> k;
  28. int l = 0, r = 1e6, ans = 0;
  29. while (l <= r) {
  30. int mid = (l + r) / 2;
  31. ll points = count(mid);
  32. if (points >= k) {
  33. ans = mid;
  34. r = mid - 1;
  35. } else {
  36. l = mid + 1;
  37. }
  38. }
  39. cout << ans;
  40. }
  41.  
  42. int main() { Samurai
  43. int _t = 1; //cin >> _t;
  44. for (int i = 1; i <= _t; i++){
  45. solve();
  46. }
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0.02s 5308KB
stdin
Standard input is empty
stdout
103