Cod sursa(job #1547681)

Utilizator gedicaAlpaca Gedit gedica Data 9 decembrie 2015 19:01:12
Problema Next Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<string>

using namespace std;

const int base= 10, NMAX= 1000000;

ifstream in("next.in");
ofstream out("next.out");

int n[NMAX+1];
string s;

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()
{
    long long rest, d;
    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 0;
}