Cod sursa(job #744443)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 8 mai 2012 18:20:47
Problema A+B Scor 100
Compilator cpp Status done
Runda Lista lui wefgef Marime 0.86 kb
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

#define maxN 200005

int A[maxN] , B[maxN];
char aux1[maxN] , aux2[maxN];

void aduna(int A[], int B[])
{
	int i , rest = 0;
	
    for (i = 1 ; i <= A[0] || i <= B[0] || rest; ++i , rest /= 10)
		A[i] = (rest += A[i] + B[i]) % 10;
	
	A[0] = i - 1;
}


int main ()
{
	freopen ("adunare.in" , "r" , stdin);
	freopen ("adunare.out" , "w" , stdout);
	
	int dim = 0;
	
	scanf ("%s" , &aux1);
	
	int size = strlen (aux1) - 1;
	
	for (int i = size ; i >= 0 ; --i)
		A[++dim] = aux1[i] - '0';
	
	A[0] = dim;
	
	dim = 0;
	
	scanf ("%s" , &aux2);
	
	size = strlen (aux2) - 1;
	
	for (int i = size ; i >= 0 ; --i)
		B[++dim] = aux2[i] - '0';
	
	B[0] = dim;
	
	aduna (A , B);
		
	for (int i = A[0] ; i >= 1 ; --i)
		printf ("%d" , A[i]);
		
	
	return 0;
}