Cod sursa(job #1997321)

Utilizator maria_neagoieMaria Neagoie maria_neagoie Data 3 iulie 2017 22:04:28
Problema Next Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("next.in");
ofstream out("next.out");
int v[1000005],a[1000005];
int main()
{
    int i,aux,tr;
    char ch;
    long long d,r=0,s;
    ch=in.get();
    while(ch!='\n')
    {
        v[++v[0]]=ch-'0';
        ch=in.get();
    }
    in>>d;
    for(i=1;i<=v[0];i++)
    {
        r=r*10+v[i];
        r=r%d;
    }
    s=d-r;
    if(s)
    {
        do
        {
            a[++a[0]]=s%10;
            s=s/10;
        }
        while(s);
        reverse(v+1,v+v[0]+1);
        tr=0;
        for(i=1;i<=max(v[0],a[0]);i++)
        {
            aux=v[i]+a[i]+tr;
            v[i]=aux%10;
            tr=aux/10;
        }
        if(tr)
            v[++v[0]]=tr;
        reverse(v+1,v+v[0]+1);
        for(i=1;i<=v[0];i++)
            out<<v[i];
    }
    return 0;
}