Cod sursa(job #1528389)

Utilizator FlorinaKarinaConstantin Karina Florina FlorinaKarina Data 19 noiembrie 2015 17:06:22
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>
# define ll long long
using namespace std;
ifstream f("next.in");
ofstream g("next.out");
typedef int Huge[1000010];
Huge a;
ll d,r;
int i;
char c=0;
ll Mod(Huge A, ll X)
{   int i;
    ll R=0;
    for(i=A[0];i;i--) R=(10*R+A[i])%X;
    return R;
}
int main()
{   f.get(c);
    while(c!='\n')
    {   a[++a[0]]=c-'0';
        f.get(c);
    }
    reverse(a+1,a+a[0]+1);
    f>>d;
    r=Mod(a,d);
    if(r)
    {   int i;
        ll T=d-r;
        for (i=1;i<=a[0];i++)
        {   ll k=a[i]+T;
            a[i]=k%10;
            T=k/10;
        }
        while(T) {a[++a[0]]=T%10;T/=10;}
    }
    for(int i=a[0];i>=1;i--) g<<a[i];
    return 0;
}