Submission

Status:

PPP-P-P---PPP-P----P

Subtask/Task Score:

50/100

Score: 50

User: Karatat007

Problemset: สุ่มสลับ

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-06 10:01:22

#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    string s;
    cin >> n >> s;
    long long fact[13];
    fact[0] = 1;
    for(int i = 1;i <= 12;++i){
        fact[i] = fact[i - 1] * i;
    }
    bool used[12] = {false};
    int rank = 0;
    for(int i = 0;i < n;++i){
        int idx = s[i] - 'A';
        int k = 0;
        for(int j = 0;j < idx;++j)
            if(!used[j]) ++k;
        rank += k * fact[n-i-1];  
        used[i] = true;
    }
    cout << rank + 1;
}