Submission

Status:

[PPPP-SSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: C12

Problemset: anna

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-06 23:39:50

#include <bits/stdc++.h>

using namespace std;


int vec[5];
int pos[5];
int arr[5];

int ans_a = INT_MIN;
int ans_b = INT_MIN;

bool recursive(int c){
    if(c == 5){
        for(int i = 0;i < 5;i++) arr[i] = vec[pos[i]];
        int a,b;
        a = arr[0] + arr[1];
        if(a & 1) return false;
        a /= 2;

        b = arr[0] - arr[1];
        if(b <= 0 || b & 1) return false;
        b /= 2;

        if(a <= b) return false;
        if(a > 1000000 || b > 1000000) return false;

        if(a*b != arr[2]) return false;
        if(a%b != arr[3]) return false;
        if(a/b != arr[4]) return false;

        if(ans_a > INT_MIN){
            if((ans_a != a && ans_b != b )){
                ans_a = INT_MIN;
                return true;
            }
            return false;
        }
        else{
            ans_a = a;
            ans_b = b;
            return false;
        }
    }

    for(int i = 0;i < 5;i++){
        if(pos[i] != -1) continue;
        pos[i] = c;
        if(recursive(c+1)) return true;
        pos[i] = -1;
    }
    return false;
}

void solve(){
    for(int i = 0;i < 5;i++){
        cin >> vec[i];
        pos[i] = -1;
    }
    recursive(0);

    if(ans_a == INT_MIN){
        cout << 0 << ' ' << 0 << '\n';
    }
    else{
        cout << ans_a << ' ' << ans_b << '\n';
    }

    ans_a = INT_MIN;
    ans_b = INT_MIN;
}

int main(){

    ios::sync_with_stdio(0);
    cin.tie(0);

    int q;
    cin >> q;
    
    while(q--)
        solve();    

    return 0;
}