Cod sursa(job #2769908)

Utilizator un_fes_galbendaniel guba un_fes_galben Data 18 august 2021 12:51:28
Problema Next Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;
int v[1100005],poz=1;
long long d;
long long rest(){
   long long t=0;
   for(int i=poz-1;i>=1;i--){
     t=(t*10+v[i])%d;
   }
   return t;
}
void adunare(long long x){
    long long t=0;
    for(int i=1;i<poz;i++){
        t+=v[i]+x%10;
        v[i]=t%10;
        t/=10;x/=10;
    }
    while(t>0){
        v[poz]=t%10;t/=10;poz++;
    }
}
int main()
{
    ifstream fin("next.in");
    ofstream fout("next.out");
    string s;long long r;
    fin>>s>>d;
    for(int i=s.size()-1;i>=0;i--){
       v[poz]=s[i]-'0';
       poz++;
    }
    r=rest();
    r=d-r;
    if(r!=d){
       adunare(r);
    }
    for(int i=poz-1;i>=1;i--){
        fout<<v[i];
    }
    fout<<'\n';
    return 0;
}