Submission

Status:
TTTTTTTTTT

Score: 0

User: Cmoss9

Problemset: C.Sort Number

Language: cpp

Time: 1.095 second

Submitted On: 2024-11-10 22:08:04

#include <bits/stdc++.h>
using namespace std;
int main () {
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int n;
    cin >> n;
    int base[n];
    char num[n][100];
    int base10[n] = {0};
    for (int i = 0;i<n;i++) {
        cin >> base[i];
        cin >> num[i];
        if (base[i]==10) {
            for (int j = 0;j<strlen(num[i]);j++) {
                base10[i] *= base[i];
                base10[i] += num[i][j] - '0';
            }
        } else if (base[i]>10) {
            for (int j = 0;j<strlen(num[i]);j++) {
                if ('0' <= num[i][j] && num[i][j] <= '9') {
                    base10[i] += (num[i][j] - '0')*pow(base[i],strlen(num[i])-j-1);
                } else if ('A' <= num[i][j] && num[i][j] <= 'F') {
                    base10[i] += (num[i][j] - '7')*pow(base[i],strlen(num[i])-j-1);
                }
            }
        } else if (base[i]<10) {
            for (int j = 0;j<strlen(num[i]);j++) {
                base10[i] += (num[i][j] - '0')*pow(base[i],strlen(num[i])-j-1);
            }
        }
    }
    int sum[n] = {0};
    for (int i = 0;i<n;i++) {
        for (int j = 1;j<=base10[i];j++) {
            if (base10[i]%j == 0) {
                sum[i] += j;
            }
        }
    }
    for (int i = 0;i<n-1;i++) {
        for (int j = i;j<n-i-1;j++) {
            if (sum[j] < sum[j+1]) {
                int temp = sum[j];
                sum[j] = sum[j+1];
                sum[j+1] = temp;
            }
        }
    }
    for (int i = 0;i<n;i++) {
        cout << sum[i] << endl;
    }
}