Language: C++

#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define rep(i,n) for( int i = 0; i < n; i++ )
#define REP(i,s,t) for( int i = s; i <= t; i++ )
#define dump(x)  cerr << #x << " = " << (x) << endl;
#define INF 2000000000
#define mod 1000000007
#define INF2 1000000000000000000
#define int long long int
int digitSum(int b, int n)
{
    if (n < b)
        return n;
    else
        return digitSum(b, n / b) + n % b;
}

signed main(void)
{
    cin.tie(0);
    ios::sync_with_stdio(false);

    int n, s;
    cin >> n >> s;
    if (n < s){
        cout << "-1" << endl;
        return 0;
    } else if (s == 1) {
        cout << n << endl;
        return 0;
    } else if (s == n) {
        cout << n+1 << endl;
        return 0;
    }
    if (n < 1000000) {
        REP(i,2,n) {
            if (digitSum(i, n) == s) {
                cout << i << endl;
                return 0;
            }
        }
        cout << "-1" << endl;
        return 0;
    }
    int N = sqrt(n) + 1;
    REP(i,2,N) {
        if (digitSum(i, n) == s) {
            cout << i << endl;
            return 0;
        }
    }
    for(int i = N; i >= 0; i--) {
        int b = min((n-s)/(i+1)-2,2);
        //dump(b);
        rep(j, 5){
            if (digitSum(b+j, n) == s) {
                cout << b << endl;
                return 0;
            }
        }
    }
    cout << "-1" << endl;


    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:54:20: error: no matching function for call to 'min(long long int, int)'
   54 |         int b = min((n-s)/(i+1)-2,2);
      |                 ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_algobase.h:233:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  233 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   54 |         int b = min((n-s)/(i+1)-2,2);
      |                 ~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  281 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:5686:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)'
 5686 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5686:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5696:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)'
 5696 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5696:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   54 |         int b = min((n-s)/(i+1)-2,2);
      |                 ~~~^~~~~~~~~~~~~~~~~