#include <bits/stdc++.h>
#define gu getchar_unlocked
using namespace std;
vector <char> a,b;
int main()
{
char c = gu();
while(c >= '0') {
a.push_back(c-'0');
c = gu();
}
c = gu();
while(c >= '0') {
b.push_back(c-'0');
c = gu();
}
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
a.resize(max(a.size()+1, b.size()+1));
b.resize(a.size());
for(int i=0;i<a.size()-1;i++) {
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
if(a.size()>0 && a.back() == 0) a.pop_back();
for(int i=a.size()-1;~i;i--) {
putchar_unlocked(a[i]+'0');
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <bits/stdc++.h> #define gu getchar_unlocked using namespace std; vector <char> a,b; int main() { char c = gu(); while(c >= '0') { a.push_back(c-'0'); c = gu(); } c = gu(); while(c >= '0') { b.push_back(c-'0'); c = gu(); } reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); a.resize(max(a.size()+1, b.size()+1)); b.resize(a.size()); for(int i=0;i<a.size()-1;i++) { a[i]+=b[i]; a[i+1]+=a[i]/10; a[i]%=10; } if(a.size()>0 && a.back() == 0) a.pop_back(); for(int i=a.size()-1;~i;i--) { putchar_unlocked(a[i]+'0'); } } |
English