Submission

Status:

PPP-P--PPP

Subtask/Task Score:

70/100

Score: 70

User: Bestzu

Problemset: Fraction

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-07 14:24:29

#include <bits/stdc++.h>
using namespace std;
using ll = long long;

void simplify(ll &a, ll &b) {
    if(a == 0 || b == 0) return; // ?????? continue
    ll g = __gcd(a, b);
    a /= g;
    b /= g;
}

int main() {
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL);

    ll a, b; 
    cin >> a >> b; // a/b
    int q; 
    cin >> q;

    simplify(a, b);

    while(q--) {
        char c; 
        cin >> c;
        ll e, f; 
        cin >> e >> f; // e/f

        simplify(e, f);

        if(c == '+' || c == '-') {
            ll lcm = b * f / __gcd(b, f);
            if(c == '+') a = a*(lcm/b) + e*(lcm/f);
            else a = a*(lcm/b) - e*(lcm/f);
            b = lcm;
        } 
        else if(c == '*') {
            a *= e;
            b *= f;
        } 
        else if(c == '/') {
            a *= f;
            b *= e;
        }

        simplify(a, b);

        if(a == 0) {
            cout << "0 1\n"; continue;
        }
		if((a>0 && b<0) || (a<0 && b>0)) {
            cout << '-';
        }
    	cout << abs(a) << " " << abs(b) << "\n";
    }

    return 0;
}