Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Bermmmm
Problemset: สุ่มสลับ
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-13 14:31:45
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
string s;
cin >> n;
cin >> s;
int fact[12];
fact[0] = 1;
for (int i =1;i<12;i++) {
fact[i] = fact[i-1]*i;
}
bool check[26];
for (int i= 0;i<26;i++) {
check[i] = false;
}
int position = 1;
for (int i = 0;i<n;i++) {
int smaller = 0;
for (char c = 'A'; c<s[i] ;c++) {
if ((check[c - 'A']) == false) {
smaller++;
}
}
position += smaller * fact[n-i-1];
check[s[i] - 'A'] = true;
}
cout << position;
return 0;
}