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;
}