Submission
Status:
PPPPPPPPPP
Score: 100
User: amongus
Problemset: C.Sort Number
Language: cpp
Time: 0.042 second
Submitted On: 2024-10-15 19:02:09
#include<bits/stdc++.h>
using namespace std;
char a[100005];
vector<long long> vec;
long long solve(long long temp){
long long s=sqrt(temp);
long long rem=0;
for(int i=1;i<=s;i++){
if(temp%i==0){
rem=rem+i;
rem+=(i * i == temp ? 0 : (temp/i));
}
}
return rem;
}
int main(){
int q;
scanf("%d",&q);
while(q--){
int x;
long long t=0;
scanf("%d %s",&x,a);
for(int i=0;a[i]!='\0';i++){
t=t*x;
if('0'<=a[i] &&a[i]<='9'){
t=t+a[i]-'0';
}else{
t=t+a[i]-'A'+10;
}
}
vec.push_back(solve(t));
}
sort(vec.begin(),vec.end(),greater<long long>());
for(int i=0;i<vec.size();i++){
printf("%lld\n",vec[i]);
}
}