Cod sursa(job #721977)

Utilizator 5t3fristea stefan 5t3f Data 24 martie 2012 14:37:53
Problema Next Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb

#include <fstream>
//nclude "stdafx.h"
#include <algorithm>

#include <cstring>

#include <cmath>

 

using namespace std;


int n, sol[1000222];

char a[1000222];

long long d;

 

inline void Read()

{

ifstream f("next.in");

f>>a;

f>>d;

f.close();

 

n = strlen(a);

for (int i=1; i<=n; i++)

sol[n-i+1] = (int)(a[i-1] - '0');

sol[0] = n;

}

 

inline long long mod()

{

int i;

long long t = 0;

for (i = n; i; i--)

t = (t * 10 + sol[i]) % d;

return t;

}

 

inline void add(long long x)

{

int i, t = 0, nr;

for (i=1; i<=n || t; i++)

{

nr = sol[i] + x%10 + t;

x/=10;

if (nr>=10)

{

t = 1;

nr -= 10;

sol[i] = nr;

}

else

{

t = 0;

sol[i] = nr;

}

}

}

 

inline void Solve()

{

long long rest;

rest = mod();

if (rest)

{

rest = d-rest;

rest = rest%d;

add(rest);

}

}

 

inline void Write()

{

ofstream g("next.out");

for (int i = sol[0]; i; i--)

g<<sol[i];

g<<"\n";

g.close();

 

}

 

int main()

{

Read();

Solve();

Write();

return 0;

}