hpnq

some bp

Jan 3rd, 2023
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. //---D---
  2. #include "bits/stdc++.h"
  3.  
  4. //speed coding
  5.  
  6. #define mp make_pair
  7. #define cve(a) for (auto i : a) {cout << i << " ";  } cout << "\n";
  8. #define f first
  9. #define s second
  10. #define loop(i, x, n) for (ll i = x; i < n; i++)
  11. #define joop(x, n) for (ll j = x; j < n; j++)
  12. #define err cout << "ERROR" << endl;
  13. #define all(x) x.begin(), x.end()
  14. #define pb push_back
  15. #define sz(x) x.size()
  16.  
  17. // types
  18. #define pii pair<int, int>
  19. #define pll pair<ll, ll>
  20. #define vvi vector<vector<int>>
  21. #define vvll vector<vector<ll>>
  22. typedef long long ll;
  23.  
  24. // types of data
  25. #define inf 1000000000
  26. #define infll 1000000000000000000
  27. #define mod 1000000007
  28.  
  29. #define DEBUG 1
  30. using namespace std;
  31.  
  32.  
  33. void solve() {
  34.     ll s;
  35.     cin >> s;
  36.     tuple<ll, ll, ll> ans;
  37.     ans = {1e12, 1, 1};
  38.     loop(d1, 1, 1e2){
  39.         ll l = 1, r = 1e2;
  40.         while(l < r) {
  41.             ll m = (l+r) / 2;
  42.             ll sqr = d1*d1 + m*m;
  43.             cout << "?" << m << endl;
  44.             if( sqr <= s){
  45.                 l = m+1;
  46.             }else{
  47.                 r = m;
  48.             }
  49.         }
  50.         ans = min(ans, {abs(d1*d1 + l*l - s), d1, l} );
  51.     }
  52.     cout << get<1>(ans) << " " << get<2>(ans);
  53.  
  54.  
  55. }
  56.  
  57. int main() {
  58.     ios::sync_with_stdio(0);
  59.     cin.tie(0);
  60. #ifdef DEBUG
  61.     freopen("text.txt", "r", stdin);
  62. #else
  63. #endif
  64.     solve();
  65.     return 0;
  66. }
  67.  
Add Comment
Please, Sign In to add comment