Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Catpao
Problemset: สุ่มสลับ
Language: cpp
Time: 0.003 second
Submitted On: 2026-10-04 22:15:40
#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(n-i-1);
b.erase(find(b.begin(), b.end(), b[k]));
}
cout<<sum;
}