fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. bool good(int t[], int x[], double mid, int n, double& sol){
  5. double L = -1e18;
  6. double R = 1e18;
  7. for(int i=0; i<n; i++){
  8. double cleft = x[i] - (mid - t[i]);
  9. double cright = x[i] + (mid - t[i]);
  10. L = max(L, cleft);
  11. R = min(R, cright);
  12.  
  13. }
  14. if (L <= R){sol = (L + R) / 2.0; return true;}
  15. return false;
  16. }
  17. int32_t main(){
  18. #ifndef ONLINE_JUDGE
  19. freopen("input.txt","r+",stdin);
  20. #endif
  21. ios_base::sync_with_stdio(false);
  22. cin.tie(NULL);
  23. int t; cin>>t;
  24. while(t--){
  25. int n; cin>>n;
  26. int t[n], x[n];
  27. for(int i=0; i<n; i++){
  28. cin>>x[i];
  29. }
  30. for(int i=0; i<n; i++){
  31. cin>>t[i];
  32. }
  33. double l =0, r = 2e18;
  34. double sol = 0;
  35. for(int i=0; i< 100; i++){
  36. double mid = l + (r-l)/2;
  37. if (good(t, x, mid, n, sol)) r = mid;
  38. else l = mid;
  39. }
  40. cout<<sol<<"\n";
  41.  
  42. }
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
2.36957e+13