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

Code

#include <stdio.h>
#include <iostream>
#include <memory.h>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

#define sqr(a) ((a) * (a))
#define pi 3.1415926535897932384626433832795

#define TASK "a"
//#define CONTEST "1"

string s1, s2;

void Load()
{
	cin >> s1 >> s2;
	reverse(s1.begin(), s1.end());
	reverse(s2.begin(), s2.end());
}

void Solve()
{
	int n1 = s1.length();
	int n2 = s2.length();
	int n = max(n1, n2);
	string s="";

	for(int i = 0; i < n; i++)
	{
		if(i < n1 && i < n2)
			s += to_string((int)(s1[i] - '0' + s2[i] - '0')%10);
		else if(i<n1)
			s += s1[i];
		else
			s += s2[i];
	}
	reverse(s.begin(), s.end());

	int k = 0;
	while(s[k] == '0' && k < n)
		k++;

	if (k == n)
		cout << '0';
	else
	{
		for(int i = k; i < n; i++)
			cout << s[i];
	}


	//cout << stoi(s);
}

int main()
{
#ifdef CONTEST
	freopen(TASK".in", "r", stdin);
	freopen(TASK".out", "w", stdout);
#endif
	
	Load();
	Solve();

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