Cod sursa(job #413140)

Utilizator toniobFMI - Barbalau Antonio toniob Data 7 martie 2010 20:17:26
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;
#include <cstdio>

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

const int NMax=1<<20;
int N[NMax];
long long D;

void ADD(long long t){
	int i;
	for(i=1;i<=N[0]||t;++i,t/=10){
		N[i]=(t+=N[i])%10;
	}
	N[0]=i-1;
}
	
long long MOD(int a[],long long b){
	long long i,t=0;
	for(i=a[0];i>0;--i){
		t=(t*10+a[i])%b;
	}
	return t;
}

void IN(),OUT(),EXE();
int main(){EXE();return 0;}

void IN(){
	char s[NMax];
	FIn.getline(s);N[0]=strlen(s)-1;
	FIn>>D;
	for(int i=1;i<=N[0];N[N[0]-i+1]=s[i++]-'0');
}

void OUT(){
	for(int i=N[0];i>=1;FOut<<N[i--]);
}

void EXE(){
	IN();
	long long t=(D-MOD(N,D))%D;
	ADD(t);
	OUT();
}