Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: exoworldgd

Problemset: C.Sort Number

Language: cpp

Time: 0.057 second

Submitted On: 2025-10-04 17:22:51

#pragma GCC optimize("O5,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
#define int long long
using namespace std;
const int inf = LLONG_MAX, mod = 1e9+7;
map<char,int> mp = {{'1',1},{'2',2},{'3',3},{'4',4},{'5',5},{'6',6},{'7',7},{'8',8},{'9',9},{'A',10},{'B',11},{'C',12},{'D',13},{'E',14},{'F',15}};
int conv(string s, int base) {
	int sum=0, len = s.length();
	for (char c : s) sum += mp[c]*(int)(pow(base,--len));
	return sum;
}
int sigma(int n) {
	int sum = 0;
	for (int i = 1; i*i <= n; i++) if (!(n%i)) sum += i, sum += (i^n/i ? n/i : 0);
	return sum;
}
signed main(void) {
	exoworldgd;
	int q,base,sum=0;
	string s;
	cin >> q;
	int a[q];
	for (int i =0; i < q; i++) sum=0, cin >> base >> s, a[i] = sigma(conv(s,base));
	sort(a,a+q), reverse(a,a+q);
	for (int i : a) cout << i << '\n';
}