Submission

Status:

PP------PP

Subtask/Task Score:

40/100

Score: 40

User: Bestzu

Problemset: Fraction

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-07 14:15:48

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

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

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

    while(q--) {
        char c; 
        cin >> c;
        ll e, f; 
        cin >> e >> f; // 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 = a * e;
            b = b * f;
        } 
        else if(c == '/') {
            a = a * f;
            b = b * e;
        }

        if(a == 0) {
            cout << "0 1\n";
        } else {
            ll g = __gcd(a, b);
            if( (a < 0 && b > 0) || (a > 0 && b < 0) ) {
            	cout << '-';
			}
            cout << abs(a/g) << " " << abs(b/g) << "\n";
        }
    }

    return 0;
}