Pagini recente » Cod sursa (job #3159414) | Istoria paginii autumn-warmup-2007/runda-2 | Rating Sorodoc Ionut Teodor (c912092) | Rating Cantea Andrei (cantea_andrei) | Cod sursa (job #3279546)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
const long long baza = 10;
long long d, nr[1000002];
string s;
static inline long long Rest() {
long long t = 0;
for(long long i = nr[0]; i >= 1; i--) {
t = t * baza + nr[i];
t %= d;
}
return t;
}
static inline long long Add(long long a) {
long long t = a, i = 1;
while(i <= nr[0] || t) {
t += nr[i];
nr[i] = t % baza;
t /= baza;
i++;
}
nr[0] = i - 1;
return a;
}
int main() {
fin >> s >> d;
reverse(s.begin(), s.end());
for(char cur : s) nr[++nr[0]] = cur - '0';
Add(d - Rest());
fout << nr[nr[0]];
for(int i = nr[0] - 1; i >= 1; i--) fout << nr[i];
return 0;
}