Submission #3470550


Source Code Expand

#include <bits/stdc++.h>

#define For(i, l, r) for(register int i = (l), i##end = (int)(r); i <= i##end; ++i)
#define Fordown(i, r, l) for(register int i = (r), i##end = (int)(l); i >= i##end; --i)
#define Set(a, v) memset(a, v, sizeof(a))
#define Cpy(a, b) memcpy(a, b, sizeof(a))
#define debug(x) cout << #x << ": " << (x) << endl
#define DEBUG(...) fprintf(stderr, __VA_ARGS__)

using namespace std;

typedef long long ll;

template<typename T> inline bool chkmin(T &a, T b) { return b < a ? a = b, 1 : 0; }
template<typename T> inline bool chkmax(T &a, T b) { return b > a ? a = b, 1 : 0; }

void File() {
#ifdef zjp_shadow
	freopen ("B.in", "r", stdin);
	freopen ("B.out", "w", stdout);
#endif
}

ll n, S;

inline bool Check(int val) {
	ll tmp = n, res = 0;
	for (; tmp; tmp /= val)
		res += tmp % val;
	return res == S;
}

int main () {

	File();

	cin >> n >> S;

	int gap = sqrt(n + .5);
	For (i, 2, gap)
		if (Check(i)) return printf("%d\n", i), 0;
	
	for (ll i = gap + 1, Nexti; i <= n; i = Nexti + 1) {
		Nexti = n / (n / i);
		ll res = (S - n);
		if (res % (n / i)) continue ;
		res = res / (n / i);
		ll b = - res + 1;
		if (i <= b && b <= Nexti)
			return printf ("%lld\n", b), 0;
	}

	if (n == S)
		return printf("%lld\n", n + 1), 0;

	puts("-1");

	return 0;

}

Submission Info

Submission Time
Task D - Digit Sum
User zjp_shadow
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1338 Byte
Status AC
Exec Time 21 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 5
AC × 47
Set Name Test Cases
Sample subtask1_87654_30.txt, subtask1_87654_138.txt, subtask1_87654_45678.txt, subtask1_31415926535_1.txt, subtask1_1_31415926535.txt
All subtask1_100000000000_1.txt, subtask1_100000000000_100000000000.txt, subtask1_100000000000_2.txt, subtask1_100000000000_3.txt, subtask1_100000000000_50000000000.txt, subtask1_100000000000_50000000001.txt, subtask1_100000000000_99999999999.txt, subtask1_16983563041_1.txt, subtask1_1_1.txt, subtask1_1_2.txt, subtask1_1_31415926535.txt, subtask1_239484768_194586924.txt, subtask1_2_1.txt, subtask1_2_2.txt, subtask1_31415926535_1.txt, subtask1_49234683534_2461734011.txt, subtask1_4_1.txt, subtask1_58640129658_232122496.txt, subtask1_68719476735_35.txt, subtask1_68719476735_36.txt, subtask1_68719476735_37.txt, subtask1_68719476736_1.txt, subtask1_68719476736_2.txt, subtask1_72850192441_16865701.txt, subtask1_79285169301_27.txt, subtask1_82914867733_1676425945.txt, subtask1_8594813796_75700.txt, subtask1_87654_12345.txt, subtask1_87654_138.txt, subtask1_87654_30.txt, subtask1_87654_4294967308.txt, subtask1_87654_45678.txt, subtask1_97822032312_49157112.txt, subtask1_98750604051_977728851.txt, subtask1_99999515529_1.txt, subtask1_99999515529_316226.txt, subtask1_99999515529_316227.txt, subtask1_99999515529_316228.txt, subtask1_99999515529_49999757765.txt, subtask1_99999515529_49999757766.txt, subtask1_99999515530_2.txt, subtask1_99999999977_1.txt, subtask1_99999999977_2.txt, subtask1_99999999977_49999999989.txt, subtask1_99999999977_49999999990.txt, subtask1_99999999999_1.txt, subtask1_99999999999_100000000000.txt
Case Name Status Exec Time Memory
subtask1_100000000000_1.txt AC 1 ms 256 KB
subtask1_100000000000_100000000000.txt AC 21 ms 256 KB
subtask1_100000000000_2.txt AC 21 ms 256 KB
subtask1_100000000000_3.txt AC 21 ms 256 KB
subtask1_100000000000_50000000000.txt AC 21 ms 256 KB
subtask1_100000000000_50000000001.txt AC 21 ms 256 KB
subtask1_100000000000_99999999999.txt AC 21 ms 256 KB
subtask1_16983563041_1.txt AC 1 ms 256 KB
subtask1_1_1.txt AC 1 ms 256 KB
subtask1_1_2.txt AC 1 ms 256 KB
subtask1_1_31415926535.txt AC 1 ms 256 KB
subtask1_239484768_194586924.txt AC 2 ms 256 KB
subtask1_2_1.txt AC 1 ms 256 KB
subtask1_2_2.txt AC 1 ms 256 KB
subtask1_31415926535_1.txt AC 12 ms 256 KB
subtask1_49234683534_2461734011.txt AC 15 ms 256 KB
subtask1_4_1.txt AC 1 ms 256 KB
subtask1_58640129658_232122496.txt AC 16 ms 256 KB
subtask1_68719476735_35.txt AC 5 ms 256 KB
subtask1_68719476735_36.txt AC 1 ms 256 KB
subtask1_68719476735_37.txt AC 18 ms 256 KB
subtask1_68719476736_1.txt AC 1 ms 256 KB
subtask1_68719476736_2.txt AC 1 ms 256 KB
subtask1_72850192441_16865701.txt AC 18 ms 256 KB
subtask1_79285169301_27.txt AC 1 ms 256 KB
subtask1_82914867733_1676425945.txt AC 19 ms 256 KB
subtask1_8594813796_75700.txt AC 3 ms 256 KB
subtask1_87654_12345.txt AC 1 ms 256 KB
subtask1_87654_138.txt AC 1 ms 256 KB
subtask1_87654_30.txt AC 1 ms 256 KB
subtask1_87654_4294967308.txt AC 1 ms 256 KB
subtask1_87654_45678.txt AC 1 ms 256 KB
subtask1_97822032312_49157112.txt AC 21 ms 256 KB
subtask1_98750604051_977728851.txt AC 21 ms 256 KB
subtask1_99999515529_1.txt AC 11 ms 256 KB
subtask1_99999515529_316226.txt AC 19 ms 256 KB
subtask1_99999515529_316227.txt AC 12 ms 256 KB
subtask1_99999515529_316228.txt AC 15 ms 256 KB
subtask1_99999515529_49999757765.txt AC 21 ms 256 KB
subtask1_99999515529_49999757766.txt AC 21 ms 256 KB
subtask1_99999515530_2.txt AC 12 ms 256 KB
subtask1_99999999977_1.txt AC 21 ms 256 KB
subtask1_99999999977_2.txt AC 21 ms 256 KB
subtask1_99999999977_49999999989.txt AC 21 ms 256 KB
subtask1_99999999977_49999999990.txt AC 21 ms 256 KB
subtask1_99999999999_1.txt AC 21 ms 256 KB
subtask1_99999999999_100000000000.txt AC 21 ms 256 KB