Submission

Status:
TTTTTTTTTT

Score: 0

User: MisterO

Problemset: C.Sort Number

Language: cpp

Time: 1.095 second

Submitted On: 2024-10-19 22:31:44

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

int main(){
	int n; cin>>n;
	long long a[n];
	for(int i=0;i<n;i++){
		int d; string x;
		cin>>d>>x;
		int len = x.size();
//		reverse(x.begin(),x.end());
		long long sum = 0;
//		cout<<x<<'\n';
		for(int idx=0;idx<len;idx++){
			if(isdigit(x[idx])){
				sum += (x[idx]-'0')*pow(d,len-idx-1);
			}else{
				sum += (x[idx]-'A'+10)*pow(d,len-idx-1);
			}
		}
//		cout<<"x = "<<sum<<' ';
		a[i] = 0;
		for(int n=1;n*n<=sum;n++){
			if(sum%n==0){
				if(n*n == sum) a[i] += n;
				else a[i] += n+sum/n;
			}
		}
//		cout<<a[i]<<'\n';
	}
	sort(a,a+n);
	for(int i=n-1;i>=0;i--) cout<<a[i]<<'\n';
}