Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int f(int l1, int r1, int s1, int d1, int l2, int r2, int s2, int d2) {
  5.     return ((s1 + d1) - (s1 - l1) <= s2 + (r2 - (s2 + d2)));
  6. }
  7.  
  8. void solve() {
  9.     int l1, r1, l2, r2;
  10.     int s1, d1, s2, d2;
  11.     cin >> l1 >> r1 >> l2 >> r2;
  12.     cin >> s1 >> d1 >> s2 >> d2;
  13.     if (s1 + d1 <= s2 || s2 + d2 <= s1) {
  14.         cout << s1 << " " << s2 << endl;
  15.         return;
  16.     }
  17.     int ans = 1e9 + 7;
  18.     pair < int , int > a;
  19.     if (f(l1, r1, s1, d1, l2, r2, s2, d2)) {
  20.         int _1 = min(abs(s1 + d1 - s2), s1 - l1);
  21.         int _2 = abs(s1 + d1 - s2) - _1;
  22.         if (_1 + _2 <= ans) {
  23.             ans = _1 + _2;
  24.             a = {s1 - _1, s2 + _2};
  25.         }
  26.     }
  27.     if (f(l2, r2, s2, d2, l1, r1, s1, d1)) {
  28.         int _1 = min(abs(s2 + d2 - s1), s2 - l2);
  29.         int _2 = abs(s2 + d2 - s1) - _1;
  30.         if (_1 + _2 <= ans) {
  31.             ans = _1 + _2;
  32.             a = {s1 + _2, s2 - _1};
  33.         }
  34.     }
  35.     if (ans == 1e9 + 7) {
  36.         cout << "-1 -1" << endl;
  37.     } else {
  38.         cout << a.first << " " << a.second << endl;
  39.     }
  40. }
  41.  
  42. int main() {
  43.     int t;
  44.     cin >> t;
  45.     for (int i = 0; i < t; i++) {
  46.         solve();
  47.     }
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement