Universal Cup Judging System

Universal Cup

时间限制: 1.0 s 内存限制: 1024 MB 总分: 100
统计

NIT 鍾意圓螺絲。佢亦都好鍾意 $\oplus$ 運算符,因為呢個符號令佢聯想到圓螺絲,其中 $\oplus$ 代表按位元異或(Bitwise-XOR)運算。

定義一個序列 $a_1, a_2, \cdots, a_n$ 嘅值 $V_a$ 為 $V_a = a_1 + a_n + \sum_{i=1}^{n-1} (a_i \oplus a_{i+1})$。

俾定一個序列 $a_1, a_2, \cdots, a_n$,你可以進行任意咁多次以下操作:

  • 揀一個下標 $i$($1 \le i \le n$),將 $a_i$ 改為任意非負整數;呢個操作嘅代價係 $C$。

請最小化序列嘅值同操作產生嘅代價總和。換句話講,設 $p$ 係你進行咗嘅操作次數,$V_{a'}$ 係操作之後序列 $a$ 嘅值,你需要最小化 $pC + V_{a'}$。

輸入格式

輸入包含多組測試資料。輸入嘅第一行包含一個整數 $T$($1 \le T \le 100$),代表測試資料嘅組數。

對於每組測試資料,第一行包含兩個整數 $n, C$($2 \le n \le 10^5, 0 \le C < 2^{19}$),分別代表序列嘅長度同進行一次操作嘅代價。

第二行包含 $n$ 個整數 $a_1, a_2, \cdots, a_n$($0 \le a_i < 2^{18}$),代表序列入面嘅元素。

保證所有測試資料入面 $n$ 嘅總和唔超過 $2 \times 10^5$。

輸出格式

對於每組測試資料,喺一行入面輸出一個整數,代表 $pC + V_{a'}$ 嘅最小可能值。

範例

輸入

3
4 4
1 4 5 6
8 6
6 6 6 1 1 6 6 6
6 7
1 7 2 6 3 5

輸出

14
24
29

提示

對於第一組測試資料,達到最小值嘅一種方法係將序列改為 $1, \mathbf{1}, \mathbf{1}, \mathbf{0}$;粗體數字係改動過嘅元素。最終序列嘅值係 $2$,做咗 $3$ 次操作;總值加代價係 $2 + 3 \times 4 = 14$。

對於第二組測試資料,達到最小值嘅一種方法係將序列改為 $6, 6, 6, \mathbf{6}, \mathbf{6}, 6, 6, 6$;最終嘅總值加代價係 $12 + 2 \times 6 = 24$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.