Cod sursa(job #1678945)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 7 aprilie 2016 16:35:19
Problema Next Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>
#include <cstring>
#define nmax 1000005
using namespace std;
long long d,k;
int v[nmax];
char s[nmax];



int main()
{
    int i,j;
    freopen("next.in","r",stdin);
    freopen("next.out","w",stdout);
    scanf("%s",&s);
    for (i=strlen(s)-1;i>=0;i--)
        v[++v[0]]=s[i]-'0';
    scanf("%lld",&d);
    for (i=v[0];i>=1;i--)
        k=(1LL*k*10+1LL*v[i])%d;
    if (k==0) {
        for (i=v[0];i>=1;i--)
            printf("%d",v[i]);
        return 0;
    }
    k=d-k;
    for (i=1;k;k/=10,i++)
        v[i]+=k%10;
    v[0]+=20;
    for (i=1;i<=v[0];i++)
        if (v[i]>9) {
            v[i+1]+=v[i]/10;
            v[i]%=10;
        }
    while (v[v[0]]==0)
        v[0]--;
    for (i=v[0];i>=1;i--)
        printf("%d",v[i]);
    return 0;
}