AT_wupc2019_g.Teishoku
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 W 大学的食堂里,有 \(N\) 种套餐可供选择,这些套餐用整数 \(0, 1, \cdots, N-1\) 标识。
此时,食堂外已经有 \(M\) 个人在排队,等待他们所点的套餐。每个人选择的套餐用序列 \(A\) 表示,其中第 \(i\) 位顾客点的套餐为 \(A_i\)。
为提高工作效率,食堂采取的做法是每次只制作一种套餐,并将其直接提供给所有点了这种套餐且还排在队列中的顾客。在这样的安排中,对于尚未获得套餐的顾客 \(i\),如果他的后面有顾客 \(j\ (i < j)\) 也选择了相同的套餐,那么 \(i\) 的不满意度将增加 \(1\)。
食堂希望找出一种最佳的套餐制作与供应顺序,以使得所有顾客的不满意度总和达到最小。请计算并输出这种最优顺序下的不满意度总和。
输入格式
输入为标准输入,格式如下:
N M
A_0 A_1 \dots A_{M-1}
输出格式
在最佳的套餐提供顺序下,输出所有顾客的不满意度总和的最小值。
输入输出样例
输入#1
2 5 0 1 0 0 1
输出#1
2
输入#2
5 5 4 1 2 3 0
输出#2
0
说明/提示
- (1 \leq N \leq 15)
- (1 \leq M \leq 200000)
- (0 \leq A_i \leq N-1)
- 所有输入数值均为整数。
示例解释 1
- 如果优先制作并提供套餐 (0),则第 (2) 位顾客的不满意度会上升 (2),而第 (5) 位顾客的不满意度不变,总的不满意度因此为 (2)。
- 如果优先制作并提供套餐 (1),则第 (1) 位顾客的不满意度会上升 (2),第 (3) 和第 (4) 位顾客的不满意度各增加 (1),总的不满意度达到 (4)。
因此,通过先提供套餐 (0) 然后提供套餐 (1),能够最小化不满意度的总和。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?