Cod sursa(job #2187067)

Utilizator Cosmin2004_InfoMoldoveanu Cosmin Cosmin2004_Info Data 26 martie 2018 10:31:24
Problema Next Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#include <algorithm>

using namespace std;
int n[1000001];
void add(long long r)
{
    int i,t,j;
    i=1;
    while(r)
    {
        n[i]+=r%10;
        t=n[i]/10;
        r/=10;
        j=i;
        n[i]%=10;
        while(t)
        {
            n[++j]+=t;
            t=n[j]/10;
            n[j]%=10;
        }
        i++;
    }
}
long long rest(long long d)
{
    int i,cnt=0;
    long long r;
    r=0;
    for(i=n[0];i>=1;i--)
    {
        r=r*10+n[i];
        r%=d;
    }
    return r;
}

int main()
{
    freopen("next.in","r",stdin);
    freopen("next.out","w",stdout);
    long long d;
    int i=0,st=1,dr;
    char ch;
    while(scanf("%c", &ch))
    {
        if(ch=='\n')break;
        n[++n[0]]=ch-'0';
    }
    scanf("%lld", &d);
    dr=n[0];
    while(st<dr)
    {
        swap(n[st],n[dr]);
        st++;
        dr--;
    }
    add(d-rest(d));
    for(i=n[0];i>=1;i--)
        printf("%d",n[i]);
    return 0;
}