Submission

Status:

PPPPPPPPPPPPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Poon

Problemset: สุ่มสลับ

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-07 21:13:54

#include <iostream>
using namespace std;

int fact(int n)
{
  if(n==1||n==0)
  {
    return 1;
  }
  return n*fact(n-1);
}

int main() 
{
  int n;
  cin>>n;
  char s[n];
  scanf("%s",s);
  int rank=1;
  for(int k=0;k<n;k++)
  {
    int c=0;
    for(int i=k+1;i<n;i++)
    {
      if(s[k]>s[i])
      {
        c++;
      }
    }
    rank+=fact(n-k-1)*c;
  }
  cout<<rank;
}