| Task: | ModAdd |
| Sender: | EduardoVaca |
| Submission time: | 2016-09-24 14:59:16 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.05 s | details |
| #2 | ACCEPTED | 0.08 s | details |
| #3 | ACCEPTED | 0.09 s | details |
| #4 | ACCEPTED | 0.07 s | details |
| #5 | ACCEPTED | 0.07 s | details |
| #6 | ACCEPTED | 0.07 s | details |
| #7 | ACCEPTED | 0.07 s | details |
| #8 | ACCEPTED | 0.06 s | details |
| #9 | ACCEPTED | 0.07 s | details |
| #10 | ACCEPTED | 0.06 s | details |
Compiler report
input/code.cpp: In function 'void print_result(const string&)':
input/code.cpp:42:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 0; i < s.length(); i++) {
^Code
#include <iostream>
#include <ios>
#include <string>
std::string carryless_sum(const std::string& s1, const std::string& s2) {
int cap;
int s1_length = s1.length();
int s2_length = s2.length();
if (s1_length > s2_length)
cap = s1_length;
else
cap = s2_length;
std::string result(cap, '0');
s1_length--;
s2_length--;
int digit_n1;
int digit_n2;
int temp_sum;
for(int i = cap - 1; i >= 0; i--) {
if(s1_length >= 0)
digit_n1 = s1[s1_length--] - '0';
else
digit_n1 = 0;
if(s2_length >= 0)
digit_n2 = s2[s2_length--] - '0';
else
digit_n2 = 0;
temp_sum = digit_n1 + digit_n2;
result[i] = (temp_sum < 10 ? temp_sum : temp_sum - 10) + 48;
}
return result;
}
void print_result(const std::string& s){
bool found_digit = false;
for(int i = 0; i < s.length(); i++) {
if (s[i] == '0' && found_digit)
std::cout << s[i];
if(s[i] != '0') {
found_digit = true;
std::cout << s[i];
}
}
if(!found_digit)
std::cout << "0";
std::cout << std::endl;
}
int main() {
std::ios::sync_with_stdio(false);
std::string n1;
std::string n2;
std::cin >> n1;
std::cin >> n2;
print_result(carryless_sum(n1, n2));
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... Truncated |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 860793811134668093345482099582... |
| correct output |
|---|
| 487710306894083216377653715430... |
| user output |
|---|
| 487710306894083216377653715430... Truncated |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 2 870841652294197226626825161089... |
| correct output |
|---|
| 870841652294197226626825161089... |
| user output |
|---|
| 870841652294197226626825161089... Truncated |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 0 404905566051213252279994991040... |
| correct output |
|---|
| 404905566051213252279994991040... |
| user output |
|---|
| 404905566051213252279994991040... Truncated |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 430112167406460960088878635088... |
| correct output |
|---|
| 430112167406460960088878635088... |
| user output |
|---|
| 430112167406460960088878635088... Truncated |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 867016005819001635643395991596... |
| correct output |
|---|
| 999999999999999999999999999999... |
| user output |
|---|
| 999999999999999999999999999999... Truncated |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 120453771521975552204976752778... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 239979749009277805816504910098... |
| correct output |
|---|
| 239979749009277805816504910098... |
| user output |
|---|
| 239979749009277805816504910098... Truncated |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 990963963634143754324162574923... |
| correct output |
|---|
| 818540385713473048971388312665... |
| user output |
|---|
| 818540385713473048971388312665... Truncated |
