Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Fadil

Problemset: สุ่มสลับ

Language: cpp

Time: 0.005 second

Submitted On: 2026-10-06 10:11:23

#include<bits/stdc++.h>
using namespace std;
int fk(int n){
    if(n <= 1){
        return 1;
    }int x = 1;
    for(int i=1;i<=n;i++){
        x *= i;
    }return x;
}
int main(){
    int n1;
    cin >> n1;
    string s1,s2;
    cin >> s1;
    s2 = s1;
    sort(s2.begin() , s2.end());
    int cnt = 0;
    for(int i=0;i<s1.size() - 1;i++){
        int k = s2.find(s1[i]);
        if(k != string::npos){
            int n2 = fk(s2.size())/s2.size();
            cnt += k*n2;
            s2.erase(k , 1);
        }
    }cout << cnt + 1;
}