Cod sursa(job #3162283)

Utilizator AswVwsACamburu Luca AswVwsA Data 28 octombrie 2023 19:35:07
Problema Next Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
//oftica si durere in suflet
#include <fstream>
#include <vector>
#include <algorithm>
#define ll long long

using namespace std;

//min M >= N M % D = 0

//(N / D + bool(N % D)) * D

const int LEN = 1e6;

char s[LEN + 1];
int nr[LEN + 1];
int cat[LEN + 1];
int ans[LEN + 1];


signed main()
{
    ifstream cin("next.in");
    ofstream cout("next.out");
    ll d;
    int i, j;
    cin >> s >> d;

    for (i = 0; s[i]; i++);
    nr[0] = i;
    for (i = nr[0] - 1; i >= 0; i--)
        nr[nr[0] - i] = s[i] - '0';
    ll rest = 0;
    for (i = nr[0]; i >= 1; i--)
    {
        rest = rest * 10 + nr[i];
        rest %= d;
    }
    if (rest != 0)
    {
        rest = d - rest;
        int tr = 0;
        for (i = 1; i <= nr[0] or tr > 0; i++, rest /= 10)
            {
                nr[i] = nr[i] + rest + tr;
                tr = nr[i] / 10;
                nr[i] %= 10;
            }
    }
    for (i = nr[0]; i >= 1; i--)
        cout << nr[i];
}