Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int int64_t
- #define F first
- #define S second
- using namespace std;
- const int N = 2e5+5;
- const int INF = 1e18+7;
- const int MOD = 1e9+7;
- int32_t main()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(0); cout.tie(0);
- // freopen("input.txt","r",stdin);
- // freopen("output.txt","w",stdout);
- int q;
- cin>>q;
- while(q-->0){
- int l1,r1,l2,r2;
- int s1,d1,s2,d2;
- cin>>l1>>r1>>l2>>r2;
- cin>>s1>>d1>>s2>>d2;
- if(s1>=s2+d2 || s1+d1<=s2){
- cout<<s1<<" "<<s2<<endl;
- continue;
- }
- pair<int,int> e1= {-1,-1},e2={-1,-1};
- int ss1=s1, ss2=s2;
- int col1=min(abs(ss2+d2-ss1),abs((ss1+d1)-r1));
- ss1+=col1;
- int col2=min(abs(ss2+d2-ss1),abs(s2-l2));
- ss2-=col2;
- if(ss1>=ss2+d2 || ss1+d1<=ss2){
- e1={ss1,ss2};
- }
- int sss1=s1, sss2=s2;
- col1=min(abs(sss1+d1-sss2),abs((sss1)-l1));
- sss1-=col1;
- col2=min(abs(sss2-(sss1+d1)),abs((sss2+d2)-r2));
- sss2+=col2;
- if(sss1>=sss2+d2 || sss1+d1<=sss2){
- e2={sss1,sss2};
- }
- pair<int,int> ans={-1,-1};
- if(e1.F!=-1){
- ans=e1;
- }
- if(e2.F!=-1){
- if(ans.F==-1) ans=e2;
- else{
- int sum1=abs(ans.F-s1)+abs(ans.S-s2);
- int sum2=abs(e2.F-s1)+abs(e2.S-s2);
- if(sum2<sum1) ans=e2;
- }
- }
- cout<<ans.F<<" "<<ans.S<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement