Submission
Status:
PPPPPPPPPP
Score: 100
User: Monasm
Problemset: C.Sort Number
Language: cpp
Time: 0.041 second
Submitted On: 2024-10-24 08:08:01
#include <bits/stdc++.h>
using namespace std;
long long int base(int n, string s) {
long long int ans = 0;
long long int power = 1;
for (int i = s.size() - 1; i >= 0; i--) {
int value;
if (s[i] >= 'A') {
value = (s[i] - 'A' + 10);
} else {
value = (s[i] - '0');
}
ans += value * power;
power *= n;
}
return ans;
}
int main() {
int t;
cin >> t;
vector<long long int> ans(t);
for (int l = 0; l < t; l++) {
int n;
string s;
cin >> n >> s;
ans[l] = base(n, s);
long long int x = 0;
for (long long int i = 1; i * i <= ans[l]; i++) {
if (ans[l] % i == 0) {
x += i;
if (i != ans[l] / i) {
x += ans[l] / i;
}
}
}
ans[l] = x;
}
sort(ans.begin(), ans.end());
for (int i = t - 1; i >= 0; i--) {
cout << ans[i] << endl;
}
return 0;
}