Cod sursa(job #1524159)

Utilizator nedelcu11Nedelcu Mihai Vlad nedelcu11 Data 13 noiembrie 2015 16:38:28
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("next.in");
ofstream g("next.out");
typedef int Huge[1000010];
Huge a;
long long d,r;
int i;
char c=0;
long long Mod(Huge A, long long X)
{ int i;
  long long 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;
        long long T=d-r;
        for (i=1;i<=a[0];i++)
        {   long long 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;
}