Untitled
unknown
plain_text
3 years ago
1.9 kB
4
Indexable
#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #pragma GCC target ("avx2") #include <bits/stdc++.h> #define fierce ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); #define int long long #define endl "\n" #define F first #define S second #define pb push_back #define sz size() const int N = 2e5+7; const int E = 1e8+7; const long long inf = 1e18+7; using namespace std; string BinNumber(int n){ string s; while(n != 1){ if(n % 2 == 1){ s += '1'; }else{ s += '0'; } n = n >> 1; } s += '1'; reverse(s.begin(), s.end()); return s; } int gcd(int a, int b){ while(a and b) { if(a>b) a %= b; else b %= a; } return a+b; } void init(){ fierce #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif } int a[N], b[N]; int Nr = 1; int ans, cnt, sum; int dp[N], pref[N]; signed main(){ init(); cin >> Nr; while(Nr--){ string s1, s2; cin >> s1 >> s2; string s = ""; while(s1.sz != 0 && s2.sz != 0){ if(s2[s2.sz - 1] == s1[s1.sz - 1]){ s += '0'; s1.erase(s1.sz - 1, 1); s2.erase(s2.sz - 1, 1); }else if(s2[s2.sz - 1] < s1[s1.sz - 1]){ int num = (s2[s2.sz - 1] - '0'); int cl = (num + 10) - (s1[s1.sz - 1] - '0'); s += to_string(cl); s1.erase(s1.sz - 1, 1); s2.erase(s2.sz - 2, 2); }else if(s2[s2.sz - 1] > s1[s1.sz - 1]){ int num = (s2[s2.sz - 1] - '0') - (s1[s1.sz - 1] - '0'); s += to_string(num); s1.erase(s1.sz - 1, 1); s2.erase(s2.sz - 1, 1); } } s += s2; s2.clear(); if(s1.sz != 0 || s2.sz != 0){ cout << "-1" << endl; }else{ reverse(s.begin(), s.end()); cout << s << endl; } } }
Editor is loading...