Submission
Status:
--------------------
Subtask/Task Score:
0/100
Score: 0
User: Sunsblad
Problemset: สุ่มสลับ
Language: cpp
Time: 0.005 second
Submitted On: 2026-10-02 20:59:02
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
int a;
string target;
cin>>a>>target;
vector<bool> k(a,true);
int sum = 0;
for(int i = 0; i < a; i++){
char targ = target[i];
char curr;
int minus =0, tmp = 0, dis;
for(int j = 0; j < a; j++){
if(k[j]){
curr = j+65;
break;
}
}
cout<<"Cur = "<<curr<<"targ = "<<targ<<'\n';
for(int j = int(curr)- 65 + 1; j < int(targ) - 65; j++){
if(!k[j]){
minus++;
}
}
cout<<"Minus = "<<minus<<'\n';
dis = int(targ)- int(curr);
//cout<<"dis = "<<dis<<'\n';
tmp = (dis-minus);
for(int j = 0; j < a - i - 1; j++){
tmp *= j+1;
}
//cout<<"tmp = " << tmp<<'\n';
k[int(targ)-65] = 0;
sum += tmp;
}
cout<<sum+1;
}