output_description: Print the minimum total cost required to sort p in ascending order.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N A B
      p_1 \cdots p_N
attempt: def main():
      import sys
  
      input = sys.stdin.readline
  
      N, R, L = map(int, input().split())
      P = list(map(int, input().split()))
  
      val2idx = [0] * (N + 1)
      for i, p in enumerate(P):
          val2idx[p] = i + 1
      bigger = [[0] * (N + 1) for _ in range(N + 1)]
      for p in range(1, N + 1):
          for j in range(N):
              if P[j] > p:
                  bigger[p][j + 1] = bigger[p][j] + 1
              else:
                  bigger[p][j + 1] = bigger[p][j]
      # print(bigger)
      inf = 10**14
      dp = [[inf] * (N + 1) for _ in range(N + 1)]
      dp[0][0] = 0
  
      for p in range(1, N + 1):
          i = val2idx[p]
          for j in range(N + 1):
              if i > j:
                  dp[p][j] = min(dp[p][j], dp[p - 1][j] + L)
                  dp[p][i] = min(
                      dp[p][i], dp[p - 1][j] + R * (bigger[p][i] - bigger[p][j])
                  )
              else:
                  dp[p][j] = min(dp[p][j], dp[p - 1][j])
      print(min(dp[-1]))
      # [print(i, dp[i]) for i in range(N+1)]
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  You are given a permutation p = (p_1, \ldots, p_N) of \\{ 1, \ldots, N \\}.
  You can perform the following two kinds of operations repeatedly in any order:
  
    * Pay a cost A. Choose integers l and r (1 \leq l < r \leq N), and shift (p_l, \ldots, p_r) to the left by one. That is, replace p_l, p_{l + 1}, \ldots, p_{r - 1}, p_r with p_{l + 1}, p_{l + 2}, \ldots, p_r, p_l, respectively.
    * Pay a cost B. Choose integers l and r (1 \leq l < r \leq N), and shift (p_l, \ldots, p_r) to the right by one. That is, replace p_l, p_{l + 1}, \ldots, p_{r - 1}, p_r with p_r, p_l, \ldots, p_{r - 2}, p_{r - 1}, respectively.
  
  Find the minimum total cost required to sort p in ascending order.
samples: [{"input": "3 20 30\n    3 1 2", "output": "20\n    \n\nShifting (p_1, p_2, p_3) to the left by one results in p = (1, 2, 3).\n\n* * *"}, {"input": "4 20 30\n    4 2 3 1", "output": "50\n    \n\nOne possible sequence of operations is as follows:\n\n  * Shift (p_1, p_2, p_3, p_4) to the left by one. Now we have p = (2, 3, 1, 4).\n  * Shift (p_1, p_2, p_3) to the right by one. Now we have p = (1, 2, 3, 4).\n\nHere, the total cost is 20 + 30 = 50.\n\n* * *"}, {"input": "1 10 10\n    1", "output": "0\n    \n\n* * *"}, {"input": "4 1000000000 1000000000\n    4 3 2 1", "output": "3000000000\n    \n\n* * *"}, {"input": "9 40 50\n    5 3 4 7 6 1 2 9 8", "output": "220"}]