Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: theem1502
Problemset: สุ่มสลับ
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-04 22:13:33
#include<bits/stdc++.h>
using namespace std;
long long fac(long long n){
long long ans = 1;
for(long long i=2;i<=n;i++){
ans = ans*i;
}
return ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(NULL);
long long n,sum = 1,k;
cin>>n;
string a;
cin>>a;
vector<char> b;
for(long long i=0;i<n;i++){
char c = a[i];
b.push_back(c);
}
sort(b.begin(), b.end());
for(long long i=0;i<n;i++){
for(long long 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;
}