Submission
Status:
PPPPPPPPPP
Score: 100
User: Dormon
Problemset: I.Quick Math
Language: cpp
Time: 0.004 second
Submitted On: 2024-12-03 10:42:05
#include <iostream>
#include <cstring>
using namespace std;
const int N = 1003;
void solve(const string a, const string b) {
int n = a.size();
int m = b.size();
int ans[N<<1] = {0};
for (int i = n-1;i >= 0;i--) {
for (int j = m-1;j >= 0;j--) {
int mul = (a[i] - '0') * (b[j] - '0');
int p1 = i + j, p2 = i + j + 1;
int sum = mul + ans[p2];
ans[p1] += sum / 10;
ans[p2] = sum % 10;
}
}
int i = 0, k = 0;
while (i < n+m && ans[i] == 0) i++;
string res = "";
while (i < n+m) res += (ans[i++] + '0');
if (res.empty()) res = "0";
cout << res;
}
int main() {
string a, b, ans; cin >> a >> b;
solve(a, b);
return 0;
}