Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Fadil
Problemset: สุ่มสลับ
Language: cpp
Time: 0.005 second
Submitted On: 2026-10-06 10:11:23
#include<bits/stdc++.h>
using namespace std;
int fk(int n){
if(n <= 1){
return 1;
}int x = 1;
for(int i=1;i<=n;i++){
x *= i;
}return x;
}
int main(){
int n1;
cin >> n1;
string s1,s2;
cin >> s1;
s2 = s1;
sort(s2.begin() , s2.end());
int cnt = 0;
for(int i=0;i<s1.size() - 1;i++){
int k = s2.find(s1[i]);
if(k != string::npos){
int n2 = fk(s2.size())/s2.size();
cnt += k*n2;
s2.erase(k , 1);
}
}cout << cnt + 1;
}