Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int f(int l1, int r1, int s1, int d1, int l2, int r2, int s2, int d2) {
- return ((s1 + d1) - (s1 - l1) <= s2 + (r2 - (s2 + d2)));
- }
- void solve() {
- int l1, r1, l2, r2;
- int s1, d1, s2, d2;
- cin >> l1 >> r1 >> l2 >> r2;
- cin >> s1 >> d1 >> s2 >> d2;
- if (s1 + d1 <= s2 || s2 + d2 <= s1) {
- cout << s1 << " " << s2 << endl;
- return;
- }
- int ans = 1e9 + 7;
- pair < int , int > a;
- if (f(l1, r1, s1, d1, l2, r2, s2, d2)) {
- int _1 = min(abs(s1 + d1 - s2), s1 - l1);
- int _2 = abs(s1 + d1 - s2) - _1;
- if (_1 + _2 <= ans) {
- ans = _1 + _2;
- a = {s1 - _1, s2 + _2};
- }
- }
- if (f(l2, r2, s2, d2, l1, r1, s1, d1)) {
- int _1 = min(abs(s2 + d2 - s1), s2 - l2);
- int _2 = abs(s2 + d2 - s1) - _1;
- if (_1 + _2 <= ans) {
- ans = _1 + _2;
- a = {s1 + _2, s2 - _1};
- }
- }
- if (ans == 1e9 + 7) {
- cout << "-1 -1" << endl;
- } else {
- cout << a.first << " " << a.second << endl;
- }
- }
- int main() {
- int t;
- cin >> t;
- for (int i = 0; i < t; i++) {
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement