CSES - E4590 2018 2 - Results
Submission details
Task:ModAdd
Sender:kakuro
Submission time:2018-09-22 13:18:24 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.16 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.16 sdetails
#8ACCEPTED0.18 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:21:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ll i=0; i<a.size(); i++) {
                 ~^~~~~~~~~
input/code.cpp:22:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(i < a.size()-b.size()) {
          ~~^~~~~~~~~~~~~~~~~~~

Code

#include <iostream>
#include <deque>
#include <algorithm>

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef std::string str;

using namespace std;

int main() {
    str a, b;
    cin >> a >> b;
    if (a.size() < b.size()) {
      str c = b;
      b = a;
      a = c;
    }
    str res = "";
    for(ll i=0; i<a.size(); i++) {
      if(i < a.size()-b.size()) {
        res += a[i];
      }
      else {
        int curDig = a[i] - '0',
          nextDig = b[i-(a.size()-b.size())] - '0';
        res += to_string((curDig+nextDig) % 10);
        if (res == "0") {
          res = "";
        }
      }
    }
    if (res == "") {
      res = "0";
    }
    cout << res << 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...