Submission
Status:
PPP-P-P---PPP-P----P
Subtask/Task Score:
50/100
Score: 50
User: Catpao
Problemset: สุ่มสลับ
Language: cpp
Time: 0.006 second
Submitted On: 2026-10-04 22:04:39
#include<bits/stdc++.h>
using namespace std;
int fac(int n){
int ans = 1;
for(int i=2;i<=n;i++){
ans = ans*i;
}
return ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(NULL);
int n,sum = 1,k;
cin>>n;
string a;
cin>>a;
vector<char> b;
for(int i=0;i<n;i++){
char c = a[i];
b.push_back(c);
}
sort(b.begin(), b.end());
for(int i=0;i<n;i++){
for(int j=0;j<b.size();j++){
if(a[i] == b[j]){
k = j;
break;
}
}
sum += k*fac(b.size()-i-1);
b.erase(find(b.begin(), b.end(), b[k]));
}
cout<<sum;
}