Submission
Status:
PPPPPPPPPP
Score: 100
User: Monasm
Problemset: C.Sort Number
Language: cpp
Time: 0.049 second
Submitted On: 2024-10-19 03:10:59
#include<stdio.h>
#include<string.h>
#include<math.h>
int n,N;
unsigned long long int sum,cnt=0,b[1005],tmp;
char a[30];
int main(){
scanf("%d",&n);
for(int j=0; j<n; j++){
scanf("%d %s",&N,a);
for(int i=0; a[i]!='\0'; i++){
if(a[i]>='A') sum+=(a[i]-'A'+10)*pow(N,strlen(a)-i-1);
else sum+=(a[i]-'0')*pow(N,strlen(a)-i-1);
}
for(int i=1; i<=sqrt(sum); i++){
if(sum%i==0){
if(i==sum/i) cnt+=i;
else cnt+=(i+sum/i);
}
}
b[j]=cnt;
sum=cnt=0;
}
for(int i=0; i<n; i++){
for(int j=i+1; j<n; j++){
if(b[i]<b[j]) tmp=b[i],b[i]=b[j],b[j]=tmp;
}
}
for(int i=0; i<n; i++){
printf("%llu\n",b[i]);
}
}