Submission

Status:

P------P-

Subtask/Task Score:

24/100

Score: 24

User: Jibhong

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-02 21:36:55

#include <bits/stdc++.h>
#include <cmath>
using namespace std;

int main() {
    int base;
    string a,b;
    cin>>base>>a>>b;
    size_t len=max(a.size(),b.size());
    len+=1;
    /*cout<<'\n'<<a<<'\n'<<b<<'\n';*/
    reverse(a.begin(),a.end());
    reverse(b.begin(),b.end());
    while(a.size()<len) a.push_back(0);
    while(b.size()<len) b.push_back(0);
    int before=0;
    for(int i=0;i<len;++i){
        int A=a[i]-'0';
        int B=b[i]-'0';
        if(A>9)A=a[i]-'A'+10;
        if(B>9)B=b[i]-'A'+10;
        int now=before+A+B;
        before=now/base;
        now%=base;
        if(now>9)a[i]=now-10+'A';
        else a[i]=now+'0';
    }
    while(a.size()>1 && a[a.size()-1]=='0'){
        a.resize(a.size()-1);
    }
    reverse(a.begin(),a.end());
    cout<<a;
}