TopCoder

Caido
主唱太拼命了

User's AC Ratio

86.7% (13/15)

Submission's AC Ratio

21.3% (20/94)

Tags

Description

在最近幾天內,帝國山群調查委員會(Imperial Orology Inquiry Committee, IOIC)需要為山峰的圖片重新建檔。

根據以前的資料,一個山峰都是由一張照片組成,由於解析度的限制,照片的寬度為 $N$ 個像素。
如果記由左到右第 $i$ 等分的山峰高度為 $h_i$ 個像素,那麼可以找到一個山峰位置 $k$ 滿足:

  • $h_{i-1} \leq h_i \quad (i \leq k)$
  • $h_i \geq h_{i+1} \quad (i \geq k)$

委員會發現,僅僅是為了紀錄山峰,圖片上其他不重要的天空資訊可以去除,因此他們想要為每一個山峰由左至右切成許多段,而每一段都只紀錄該部份當中到最高山峰的位置。
也就是說,假設某一段記錄了原本照片中第 $l$ 到第 $r$ 等分,那委員會只會為這段留下長為 $\max_{l\leq i\leq r}h_i$,寬為 $r - l + 1$ 的照片。

只不過這樣可以省下多少空間呢?儲存一張長 $H$ 寬 $W$ 的圖片需要花費 $H \times W + T$ 單位的空間,其中 $T$ 代表每個檔案標頭需要的空間,是一個固定的常數。請你寫一隻程式計算給定的山峰照片在所有分段方式中所需的最少儲存空間。

Input Format

輸入的第一行有兩個以空白分開的整數 $N, T$,接著下一行有 $N$ 個以空白分開的整數,第 $i$ 個為 $h_i$。

  • $1 \leq N \leq 3 \times 10 ^ 6$
  • $1 \leq T \leq 10 ^ {12}$
  • $1 \leq h_i \leq 10 ^ 9$

Output Format

輸出給定山峰照片的最少儲存空間。

Sample Input 1

6 3
1 3 6 5 3 1

Sample Output 1

33

Hints

在範例當中,如果切成三張圖片:

  • 第一張 $[1, 3]$,高度只需要儲存至 $3$,空間為 $3 + 3 \times 2 = 9$。
  • 第二張 $[6, 5]$,高度只需要儲存至 $6$,空間為 $3 + 6 \times 2 = 15$。
  • 第三張 $[3, 1]$,高度只需要儲存至 $3$,空間為 $3 + 3 \times 2 = 9$。

總空間是 $33$,並且是最小的空間花費。

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0 範例測資。 0
2 0~18 無特別限制。 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1 2
1 1000 262144 65536 2
2 1000 262144 65536 2
3 1000 262144 65536 2
4 1000 262144 65536 2
5 1000 262144 65536 2
6 1000 262144 65536 2
7 1000 262144 65536 2
8 1000 262144 65536 2
9 1000 262144 65536 2
10 1000 262144 65536 2
11 1000 262144 65536 2
12 1000 262144 65536 2
13 1000 262144 65536 2
14 1000 262144 65536 2
15 1000 262144 65536 2
16 1000 262144 65536 2
17 1000 262144 65536 2
18 1000 262144 65536 2