CSES - E4590 2018 2 - Results
Submission details
Task:ModAdd
Sender:natalia
Submission time:2018-09-22 15:40:35 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.07 sdetails
#8ACCEPTED0.06 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.03 sdetails

Code

#include <iostream>
#include <string>
#include <limits.h>


int main(int argc, const char * argv[]) {
    
    std::string num1, num2;
    std::cin >> num1 >> num2;
 
    unsigned long n1_len = num1.length();
    unsigned long n2_len = num2.length();
    

    if(n1_len > n2_len){
        num2 = std::string(n1_len - n2_len, '0') + num2;
    } else if(n1_len < n2_len){
        num1 = std::string(n2_len - n1_len, '0') + num1;
    }
    
    //std::cout << num1 << "\n";
    //std::cout << num2 << "\n";
    
    unsigned long lmax = std::max(n1_len, n2_len);
    
    char* buff = (char*)malloc(lmax * sizeof(char));
    
    for(unsigned long i = 0; i < lmax; i++){
        int res = (int)num1[i] + (int)num2[i] - 96;
        buff[i] = (res % 10) + 48;
    }
    
    unsigned long i = 0;
    for(; i < lmax; i++){
        if(buff[i] != '0')
            break;
    }
    
    //std::cout << i << "\n";
    
    if(i == lmax){
        std::cout << 0 << "\n";
        return 0;
    }
    
    buff = buff + i;
    
    std::cout << buff << "\n";
    
    
    return 0;
    
}

//986127880802649345005075311357195618317413704635453838566074615442041419233602647325426490887465537867
//986127880802649345005075311357195618317413704635453838566074615442041419233602647325426490887465537867

Test details

Test 1

Verdict: ACCEPTED

input
3797629225
9766508989

correct output
2453127104

user output
2453127104

Test 2

Verdict: ACCEPTED

input
552139016901047883384892240490...

correct output
552139016901047883384892240490...

user output
552139016901047883384892240490...

Test 3

Verdict: ACCEPTED

input
860793811134668093345482099582...

correct output
487710306894083216377653715430...

user output
487710306894083216377653715430...

Test 4

Verdict: ACCEPTED

input
2
870841652294197226626825161089...

correct output
870841652294197226626825161089...

user output
870841652294197226626825161089...

Test 5

Verdict: ACCEPTED

input
0
404905566051213252279994991040...

correct output
404905566051213252279994991040...

user output
404905566051213252279994991040...

Test 6

Verdict: ACCEPTED

input
430112167406460960088878635088...

correct output
430112167406460960088878635088...

user output
430112167406460960088878635088...

Test 7

Verdict: ACCEPTED

input
867016005819001635643395991596...

correct output
999999999999999999999999999999...

user output
999999999999999999999999999999...

Test 8

Verdict: ACCEPTED

input
120453771521975552204976752778...

correct output
0

user output
0

Test 9

Verdict: ACCEPTED

input
239979749009277805816504910098...

correct output
239979749009277805816504910098...

user output
239979749009277805816504910098...

Test 10

Verdict: ACCEPTED

input
990963963634143754324162574923...

correct output
818540385713473048971388312665...

user output
818540385713473048971388312665...