编程题
### 问题描述
在神奇的魔法世界中,有一座宝藏丰富的迷失之塔。这座塔是由无数层楼组成,每层都隐藏着珍贵的宝物和强大的魔法力量。许多冒险者为了争夺这些宝藏而踏上了征程。
小桥是一位勇敢的冒险者,他听说迷失之塔的最顶层藏着一个传说中的至宝——"时间之心"。据说,只有将迷失之塔的楼层按照从大到小的顺序排列,才能获得时间之心的力量。
然而,迷失之塔是一个变幻莫测的地方,楼层的顺序并不是按照从大到小排列的。小桥必须经过一番艰辛的努力,将楼层重新排列,以实现他的目标。
小桥发现,他可以通过将某个楼层移动到最前面或最后面的方式来改变楼层的顺序。每次移动的代价是固定的,为 $w$。现在,他想知道,将迷失之塔的楼层按照从大到小排列所需的最小代价是多少。
请帮助小桥计算出最小代价。
### 输入格式
第一行输入两个整数 $n$ 和 $w$($1 \le n, w \le 10^5$),表示迷失之塔的楼层数和移动的代价。
第二行输入 $n$ 个整数 $p_i$($1 \le p_i \le n$),表示当前迷失之塔的楼层顺序,是一个由 $1$ 到 $n$ 组成的排列。
### 输出格式
输出仅一行,包含一个整数,表示将迷失之塔的楼层按照从大到小排列所需的最小代价。
### 样例输入
```
3 1
1 2 3
```
### 样例输出
```
2
```