Cod sursa(job #751613)

Utilizator SteveStefan Eniceicu Steve Data 26 mai 2012 14:26:31
Problema Next Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <string>

using namespace std;

string s;
int N[1000010], ciudy;
long long D;

ifstream fin ("next.in");
ofstream fout ("next.out");

void Citire ()
{
	fin >> s;
	N[0] = s.size ();
	for (int i = 0; i < N[0]; i++)
	{
		N[i + 1] = s[i] - 48;
	}
	fin >> D;
	fin.close ();
}

long long Rest ()
{
	long long t = 0;
	for (int i = 1; i <= N[0]; i++)
	{
		t *= 10;
		t = t + 1LL * N[i];
		if (D < t) t %= D;
	}
	return t;
}

void Business ()
{
	D -= Rest ();
	ciudy = N[0];
	for (int i = N[0]; D; i--)
	{
		N[i] += D;
		D = N[i] / 10;
		N[i] %= 10;
	}
	if (ciudy != N[0]) N[1] += 10;
}

void Scriere ()
{
	for (int i = 1; i <= ciudy; i++)
	{
		fout << N[i];
	}
	fout.close ();
}

int main ()
{
	Citire ();
	Business ();
	Scriere ();
	return 0;
}