Cod sursa(job #1336811)

Utilizator dr_personalityEftime Andrei Horatiu dr_personality Data 8 februarie 2015 11:12:16
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<string>
using namespace std;
ifstream in("next.in");
ofstream out("next.out");
 
const int base = 10, nmax = 1000006;
int n[nmax];
string s;
long long rest, d;
 
void adunare(long long x)
{
    int minte = 0;

    for(int i = 1; x>0 || minte!=0; i++)
	{
		if(i>n[0])
			n[0]++;

        n[i] += x % 10 + minte;
        minte = n[i] / base;
        n[i] %= base;

		x /= 10;
    }
}

int main(){
	int player_unu=0;

    in>>s>>d;
    for(int i = (int)s.size() - 1; i>=0; i--)
	{
		n[0]++;
        n[n[0]] = s[i] - '0';
    }

    for(int i = n[0]; i>0; i--)
	{
        rest = (rest * 10 + n[i]) % d;
    }

    rest = (d - rest) % d;
    adunare(rest);

    for(int i = n[ 0 ]; i>0; i--)
	{
        out<<n[i];
    }

    out<<'\n';

    return player_unu;
}