Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Some1258
Problemset: สุ่มสลับ
Language: cpp
Time: 0.003 second
Submitted On: 2026-07-28 09:14:57
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
string y;
cin>>x>>y;
int prefix[x];
prefix[x-1]=0;
prefix[x-2]=1;
int multi=2;
for(int i=x-3;i>=0;i--){
prefix[i]=prefix[i+1]*multi;
multi++;
}
/*for(int i=0;i<x;i++){
cout<<prefix[i]<<' ';
}*/
int arr[x];
for(int i=0;i<x;i++){
arr[i]=i;
}
/*for(int i=0;i<x;i++){
cout<<arr[i]<<' ';
}*/
int ans=0;
for(int i=0;i<x;i++){
int temp=y[i]-'A';
//cout<<temp<<endl;
ans+=prefix[i]*(arr[temp]);
//cout<<ans<<endl;
for(int j=(temp)+1;j<x;j++){
arr[j]--;
}
}
cout<<ans+1;
}