Submission

Status:
PPPPPPPPPPPPPPPPPPPP

Score: 100

User: Namkhing

Problemset: สุ่มสลับ

Language: cpp

Time: 0.002 second

Submitted On: 2025-04-11 16:06:33

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

using ll = long long;

const int N = 15;
ll n, p[N], f[N];
string s;

int main() {
    cin.tie(nullptr)->ios_base::sync_with_stdio(false);
    cin >> n >> s;
    p[0] = 1;
    for (int i = 1; i <= n; i++) p[i] = p[i-1] * i;
    ll ans = 0;
    for (int i = 0; i < n; i++) {
        int val = s[i] - 'A';
        int cnt = 0;
        for (int j = 0; j < val; j++) if (!f[j]) cnt++;
        f[val] = 1;
        ans += p[n-i-1] * cnt;
    }
    cout << ans + 1;
}