Submission
Status:
----------
Score: 0
User: Monasm
Problemset: C.Sort Number
Language: cpp
Time: 0.038 second
Submitted On: 2024-10-24 07:44:42
#include <bits/stdc++.h>
using namespace std;
int base(int n,string s){
int p = 0;
int ans = 0;
for(int i=s.size()-1;i>=0;i--){
if(s[i]>='A'){
ans+=(int(s[i])-int('A')+10)*pow(n,p);
}
else{
ans+=(int(s[i])-int('0'))*pow(n,p);
}
p++;
}
return ans;
}
int main(){
int t;cin >> t;
vector<long long int> ans(t);
for(int l=0;l<t;l++){
int n;cin >> n;
string s;cin >> s;
ans[l] = base(n,s);
int x = 0;
for(int i=1;i*i<=ans[l];i++){
if(ans[l]%i==0){
x+=i;
if(ans[l]/i!=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;
}