Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: porpeang

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.004 second

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

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

int main(){
    int Base=0;
    string Num1,Num2,p,o;
    int a=0,b=0,c=0,num1=0,num2=0,tod=0,Num=0;
    cin>>Base;
    cin>>Num1;
    cin>>Num2;
    vector<int>ve;
    while(Num1.size() < Num2.size()) Num1 = "0" + Num1;
    while(Num2.size() < Num1.size()) Num2 = "0" + Num2;
    
    if(num1<num2){
        p=Num1;
        o=Num2;
        Num1=o;
        Num2=p;
    }
    
    for(int i = Num1.size() - 1; i >= 0; i--){
        int val1 = (Num1[i] >= 'A') ? (Num1[i] - 'A' + 10) : (Num1[i] - '0');
        int val2 = (Num2[i] >= 'A') ? (Num2[i] - 'A' + 10) : (Num2[i] - '0');
        int sum_val = val1 + val2 + tod;
        if(sum_val < Base){
            ve.push_back(sum_val);
            tod=0;
        }
        else{
            ve.push_back(sum_val - Base);
            tod=1;
        }
    }
    if(tod > 0) ve.push_back(tod);
    
    reverse(ve.begin(),ve.end());
    for(auto e:ve)if (e >= 10) cout << (char)(e - 10 + 'A');
else cout << e;
}