Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: cheetah

Problemset: C.Sort Number

Language: cpp

Time: 0.047 second

Submitted On: 2026-07-11 21:53:04

#include<bits/stdc++.h>
using namespace std;

int main () {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int t;
    cin >> t;
    int ans[t] = {};

    for (int i = 0; i < t; ++i) {
        int n;
        string s;
        cin >> n >> s;
        int nbase10 = 0;
        for (int j = 0; j < s.size(); ++j) {
            if (s[j] >= 65) {
                nbase10 = nbase10 * n + 10 + s[j] - 'A';
            }
            else {
                nbase10 = nbase10 * n + s[j] - '0';
            }
        }   
        // cout << "nbase10 = " << nbase10 << "\n";
        for (int j = 1; j * j <= nbase10; ++j) {
            if (nbase10 % j == 0) {
                ans[i] += j + (nbase10 / j);
                // cout << j << " " << nbase10 / j << " " << ans[i] << "\n";
            }
            if (j * j == nbase10) {
                ans[i] -= j;
                // cout << j << " " << ans[i] << "\n";
            }
        }
        // cout << "\n";
    }

    sort(ans, ans + t, greater());

    for (int i = 0; i < t; ++i) {
        cout << ans[i] << "\n";
    }

    return 0;
}