Submission

Status:

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

Subtask/Task Score:

40/100

Score: 40

User: nicekrittaphat

Problemset: สุ่มสลับ

Language: cpp

Time: 0.005 second

Submitted On: 2026-10-13 19:34:56

#include<iostream>
using namespace std;

long long factorial(int n){
    long long sum = 1;
    while(n>1){
        sum *= n;
        n--;
    }
    return sum;
}

int main(){
    int n;
    string s;
    cin>>n>>s;
    bool alphabet[26] = {true};

    long long count1 = 1;
    int ind=0;
    while(n>1){
        int val=0;
        for(int i=0;i<s[ind]-'A';i++){
            if(alphabet[i]){
                val++;
            }
        }
        count1 += factorial(n-1)*val;
        n--;
        ind++;
        alphabet[s[ind]-'A'] = false;
    }

    cout<<count1;

}