Cod sursa(job #1825602)

Utilizator Tiberiu02Tiberiu Musat Tiberiu02 Data 9 decembrie 2016 14:30:06
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
# include <iostream>
# include <fstream>

using namespace std;

int ld( int d, int n )
{
    return ( ( n ) / d ) * d;
}

int main()
{
    ifstream fin( "pascal.in" );
    ofstream fout( "pascal.out" );

    int r, d, i, a, b, c, s;

    fin >> r >> d;

    a = 0;
    b = 1000000000;
    i = 1;
    while ( i <= ld( i, r ) ) {
        if ( i != r - ld( i, r ) + 1 ) {
            a = max( a, i );
            b = min( b, ld( i, r ) );
        }
        i *= d;
    }

    c = min( a, r - b + 1 );
    s = r + 1 - 2 * c;
    fout << ( s > r + 1 ? 0 : s );

    fin.close();
    fout.close();

    return 0;
}