Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: cheetah
Problemset: C.Sort Number
Language: cpp
Time: 0.048 second
Submitted On: 2026-07-11 22:03:14
#include<bits/stdc++.h>
using namespace std;
int main () {
ios_base::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
long long ans[t] = {};
for (int i = 0; i < t; ++i) {
int n;
string s;
cin >> n >> s;
int nbase10 = 0;
for (int j = 0; j < s.size(); ++j) {
if (s[j] >= 65) {
nbase10 = nbase10 * n + 10 + s[j] - 'A';
}
else {
nbase10 = nbase10 * n + s[j] - '0';
}
}
// cout << "nbase10 = " << nbase10 << "\n";
ans[i] = 0;
for (int j = 1; j * j <= nbase10; ++j) {
if (nbase10 % j == 0) {
ans[i] += j + (nbase10 / j);
// cout << j << " " << nbase10 / j << " " << ans[i] << "\n";
if (j * j == nbase10) {
ans[i] -= j;
// cout << j << " " << ans[i] << "\n";
}
}
}
// cout << "\n";
}
sort(ans, ans + t, greater());
for (int i = 0; i < t; ++i) {
cout << ans[i] << "\n";
}
return 0;
}