Cod sursa(job #861766)

Utilizator stoicatheoFlirk Navok stoicatheo Data 21 ianuarie 2013 21:26:44
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <cstring>
  
using namespace std;
  
ifstream in ("next.in");
ofstream out ("next.out");
  
const int MAXN = 1000010;
  
char S[MAXN];
int A[MAXN];
  
int main ()
{
    long long D, R = 0, now;
    int len, i, t = 0;
      
    in >> S;
    len = strlen (S);
      
    for (i = len - 1; i >= 0; i --)
        A[ ++ A[0] ] = (S[i] - '0');
      
    in >> D;
      
    for (i = A[0]; i; i --)
        R = ((long long) ((R * 10) + A[i]) % D);
      
    now = (D - R) % D;
      
    for (i = 1; i <= A[0]; i ++){
        A[i] += (now % 10) + t;
        t = A[i] / 10;
        A[i] %= 10;
        now /= 10;
    }
  
    if (t)
        A[ ++ A[0] ] = t;
      
    while (A[0])
        out << A[ A[0] --];
      
    return 0;
}