CSES - E4590 2016 2 - Results
Submission details
Task:ModAdd
Sender:ivan
Submission time:2016-09-24 14:08:20 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.13 sdetails
#3ACCEPTED0.18 sdetails
#4ACCEPTED0.14 sdetails
#5ACCEPTED0.14 sdetails
#6ACCEPTED0.14 sdetails
#7ACCEPTED0.19 sdetails
#8ACCEPTED0.12 sdetails
#9ACCEPTED0.14 sdetails
#10ACCEPTED0.07 sdetails

Code

#include <iostream>
#include <algorithm>
#include <cstdio>

using namespace std;

int main(int argc, char *argv[])
{
    string x, y;
    vector<int> res;

    getline(cin, x);
    getline(cin, y);

    int n = x.length();
    int m = y.length();

    int dif = abs(n - m);

    if (n < m) {
        x = string(dif, '0').append(x);
        n = m;
    } else if (n > m) {
        y = string(dif, '0').append(y);
        m = n;
    }

    for (int i = n - 1; i >= 0; --i) {
        int a = 0;
        int b = 0;

        a = x[i] - '0';
        b = y[i] - '0';

        if (a + b >= 10) {
            res.push_back(a + b - 10);
        } else {
            res.push_back(a + b);
        }
    }

    bool isZero = true;

    for (int i = res.size() - 1; i >= 0; --i) {
        if (res[i] != 0 || i == 0) {
            isZero = false;
        }

        if (res[i] == 0 && isZero) {
            continue;
        }

        cout << res[i];
    }

    cout << endl;

    return 0;
}

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