Cod sursa(job #2178028)

Utilizator VarticeanNicolae Varticean Varticean Data 18 martie 2018 23:50:37
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream in("next.in");
ofstream out("next.out");
string s;
ll A[1000005], d;
ll mod()
{
    ll m = 0;
    for(int i=A[0]; i>0; i--)
        m = ( m*10 + A[i]) % d;
    return m;
}

void sum(ll x)
{
    ll t =0;
    A[1]+=x;
    for(int i=1; i<=A[0]; i++)
    {
        A[i]+=t;
        t = A[i] / 10;
        A[i] %= 10;
    }
    while( t ) A[++A[0]] = t%10, t/=10;
}

int main()
{
    ios::sync_with_stdio(0);
    in >> s >> d;
    A[0] = s.size();
    for(int i=0; i<s.size(); i++)
        A[A[0]-i] = s[i]-'0';

    ll m = mod();
    if(m)
    {
       sum( d-m);
       for(int i=A[0]; i>0; i--) out << A[i];
    } else
    for(int i=A[0]; i>0; i--) out << A[i];


    return 0;
}