Cod sursa(job #1642162)

Utilizator LucianTLucian Trepteanu LucianT Data 9 martie 2016 12:57:58
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
#define maxN 1000005
using namespace std;
int a[maxN], n, i;
long long d;
long long rez;
char s[maxN];
long long imp(long long x)
{
    int i;
    long long r = 0;
    for(i = n; i >= 1; i--)
        r = r*10LL+1LL*a[i], r %= x;
    return r;
}
void add(long long x)
{
    int i;
    long long t;
    for(i = 1; i <= n && x > 0; i++)
        t=a[i]+x, a[i]=t%10, x=t/10;
    while(x)
        a[++n] = x%10, x /= 10;
}
int main()
{
    ifstream f("next.in");
    ofstream g("next.out");
    f >> s;
    f >> d;
    n = strlen(s);
    int poz = 0;
    for(i = n-1; i >= 0; i--)
        a[++poz] = s[i]-'0';
    rez = imp(d);
    if(rez > 0) add(d-rez);
    for(i = n; i >= 1; i--)
        g << a[i];
    return 0;
}