Cod sursa(job #2103222)

Utilizator flibiaVisanu Cristian flibia Data 9 ianuarie 2018 22:17:28
Problema Next Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

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

short n[1000100], nn[1000100];
int sz, p;
long long D, mod;
string s;

int main(){
	in >> s;
	in >> mod;
	sz = s.size();
	n[0] = sz;
	for(int i = sz; i; i--)
		n[++p] = s[i - 1] - 48;
	for(int i = sz; i; i--)
		D = (10LL * D + (long long)n[i]) % mod;
	if(D != 0)
		D = mod - D;
	cout << D << endl;
	if(D == 0){
		nn[0] = 1;
	} else{
		while(D){
			nn[++nn[0]] = D % 10;
			D /= 10;
		}
	}
	int i, t;
	for(i = 1, t = 0; i <= n[0] || i <= nn[0] || t; i++, t /= 10)
		n[i] = (t += n[i] + nn[i]) % 10;
	n[0] = i - 1;
	for(i = n[0]; i; i--)
		out << n[i]; 
	for(i = nn[0]; i; i--)
		cout << nn[i];
	return 0;
}