CSES - E4590 2016 2 - Results
Submission details
Task:ModAdd
Sender:lippinj1
Submission time:2016-09-24 13:25:44 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.21 sdetails
#3ACCEPTED0.29 sdetails
#4ACCEPTED0.21 sdetails
#5ACCEPTED0.28 sdetails
#6ACCEPTED0.29 sdetails
#7ACCEPTED0.25 sdetails
#8ACCEPTED0.30 sdetails
#9ACCEPTED0.20 sdetails
#10ACCEPTED0.10 sdetails

Code

#include <iostream>
#include <string>

int main()
{
    std::string a, b;
    std::getline(std::cin, a);
    std::getline(std::cin, b);

    auto ita = a.rbegin();
    auto itb = b.rbegin();

    std::string q;
    while (true) {
        if (ita == a.rend() && itb == b.rend()) break;

        int va = 0;
        if (ita != a.rend()) {
            va = *ita - '0';
            ++ita;
        }

        int vb = 0;
        if (itb != b.rend()) {
            vb = *itb - '0';
            ++itb;
        }

        q += std::to_string((va + vb) % 10);
    }

    auto r = std::string(q.rbegin(), q.rend());
    auto i = r.find_first_not_of('0');

    if (i == std::string::npos) std::cout << "0" << std::endl;
    else std::cout << r.substr(i) << std::endl;
}

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...