Newcoder 110 E.Pocky遊戲(狀壓)
Description
社交活動中有 個男孩和 個女孩。
他們玩的其中一場比賽是通過 傳遞橡皮筋( 是一種長條餅乾)。
與正常的社交活動遊戲不同,只有兩支隊伍,男隊和女隊。
遊戲規則如下,
1.兩隊都有 個編號從 到 的馬甲。
2.對手隊將給出長度為 的整數序列 。所有數字將在 到 (含 )之間,並且所有相鄰數字都不相同(對於所有 )。
3.在對手隊給出序列之後,另一隊開始計劃背心的穿著策略。請注意,團隊成員在遊戲過程中不能交換背心。
4.當比賽開始時,橡皮筋將被放在穿著 編號的背心的隊員嘴中的 上。 然後,穿著 編號的背心的隊員必須將橡皮筋傳遞給穿著 編號的背心的隊員,而不能用手,如此進行下去…。當橡皮筋通過 次並且已經在穿著 編號的背心的隊員的 上時,遊戲將結束。
5.第一隊完成是勝利的隊。
是演算法大師。他從未在任何戰略遊戲中失利。他相信他會像以前一樣贏得這場比賽。
他發現兩名隊員之間的身高差距越大,他們之間的橡皮筋越難通過。
基於這一觀察,他定義了一次傳遞橡皮筋的難度為身高差的絕對值。
你是 對手隊伍的領導者。
你知道 編寫了一個程式來計算他的團隊難度的最小可能總和。
既然你不想輸,你決定為你的團隊編寫一個具有相同功能的程式。
PS :由於 有女朋友,所以你不能引誘他獲取原始碼,而且他女朋友沒參加這場比賽(
Input
第一行有兩個整數 和 。 它表明有 個男孩和 個女孩,而 的團隊會給你一個長度為 的序列。
第二行有 個整數 ,表示你所有團隊成員的身高。
第三行有 個整數 ,表示 團隊給出的序列。
Output
輸出一個整數表示團隊難度的最小可能總和。
Sample Input
3 3
170 175 180
1 2 3
Sample Output
10
Solution
狀壓 ,從低到高安排身高,以 表示已經給 狀態的人安排好了前 個身高,其中 表示 二進位制表示中 的個數,對於 中為 的位置 ,考慮給 身高為 ,那麼把 安排進去之後,對團隊難度的貢獻分為兩部分:正部分為 與 中為 位置 的相鄰次數,因為 的身高必然小於 ,而負部分為 與 中為 位置 的相鄰次數,因為 的身高必然大於 ,記 為 中 相鄰的次數,那麼即可