Advertisement
Guest User

Untitled

a guest
Oct 9th, 2018
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. void solve() {
  2. // Test case #4
  3. n = 4;
  4. points = new ArrayList<>(n);
  5. points.add(new Point(1,-10000000));
  6. points.add(new Point(1, 10000000));
  7. points.add(new Point(10000000, -10000000));
  8. points.add(new Point(10000000, 10000000));
  9.  
  10. // This solution incorrectly returns "true"
  11. double r = 4.989034101842852E13;
  12. double x = 9765.625;
  13. io.println(acceptable(x,r));
  14. }
  15.  
  16. boolean acceptable(double x, double r) {
  17. double maxDistLeft = 0;
  18. double maxDistRight = 0;
  19. for (Point p : points) {
  20. double xDist = Math.abs(x - p.x);
  21. double yDist = Math.abs(r - p.y);
  22. double dist2 = xDist * xDist + yDist * yDist;
  23. if (p.x <= x) {
  24. maxDistLeft = max(maxDistLeft, dist2);
  25. } else {
  26. maxDistRight = max(maxDistRight, dist2);
  27. }
  28. }
  29. return (maxDistLeft <= r*r && maxDistRight <= r*r);
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement