Pagini recente » Istoria paginii utilizator/rares22iunie | Rating Stoica Victor (Toni07) | Cod sursa (job #1742292) | Cod sursa (job #2820160) | Cod sursa (job #2835612)
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
using LLI = long long int;
const int dim = 1000000;
string numar;
int i, nrCif;
LLI d, parte, minte;
vector<LLI> cifre(dim + 11);
ifstream f("next.in");
ofstream g("next.out");
int main()
{
for (f >> numar >> d, i = numar.size() - 1; i > -1; --i) cifre[i] = numar[numar.size() - 1 - i] - '0';
i = numar.size() - 1;
while (i > -1)
{
while (i > -1 && parte < d)
{
parte = parte * 10 + cifre[i];
--i;
}
parte = parte - parte / d * d;
}
d = parte != 0 ? d - parte : 0;
cifre[0] += d;
for (i = 0; i < numar.size(); ++i)
{
cifre[i] += minte;
minte = 0;
minte += cifre[i] / 10;
cifre[i] %= 10;
}
nrCif = numar.size() - 1;
for (; minte > 0; minte /= 10) cifre[++nrCif] = minte % 10;
for (i = nrCif; i > -1; --i) g << cifre[i];
}