车载音乐

测试数据来自 system/2245

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

时间限制:1秒  内存限制:256M


【题目描述】

  小H的车载音乐盘里存了 \(N\) 首歌曲,按 \(1..N\) 依次编号。这些歌曲的播放顺序按小H设定的算法进行:
  ◆ 每首歌曲都设定了一个优先级 \(P_i\)。
  ◆ 当新播放一首歌曲时,都选择所有歌曲中优先级最大的那首(如果有两首或多首歌曲的优先级相同,那么这些歌曲中编号最小的那首会被选中)。
  ◆ 一首歌曲在播放完后,它的优先级会被平均地分给其他 \(N-1\) 首歌曲,它本身的优先级清零。
  ◆ 如果一首歌曲的优先级无法被平均分配(也就是说,无法被 \(N-1\) 整除),那么被 \(N-1\) 除的余数部分将会以 1 为单位,顺次分配给排名靠前的歌曲(也就是说,顺序为曲目1、曲目2...依次下去。当然,刚播放过的那首歌曲需要被跳过),直到多出的部分被分配完。
  在选定的一首歌曲播放完毕后,这个算法再次被执行,调整歌曲的优先级,并选出再接下来播放的曲目。
  请你计算一下,按小H的算法,最先播放的 \(T\) 首歌曲分别是哪些?

【输入格式】

  第一行是两个用空格隔开的整数 \(N\) 和 \(T\)。
  接下来有 \(N\) 行,第 \(i+1\) 行为一个整数 \(P_i\),表示第 \(i\) 首歌曲的优先级。

【输出格式】

  共有 \(T\) 行,第 \(i\) 行的整数表示播放的第 \(i\) 首歌曲的编号。

【输入输出样例】

 Input

3 4
10
8
11

 Output

3
1
2
3

【输入输出样例解释】

  U盘中存了 3 首歌曲,初始优先级依次为 10,8,11。你的任务是指出它播放的前4首歌曲依次是哪些。选择过程如下:
每一首歌曲播放前,三首歌曲的优先级分别为:
     P1  P2  P3
    10  8  11  -> 播放 #3 11/2 = 5, 优先级余量 = 1
    16  13  0  -> 播放 #1 16/2 = 8
    0  21  8  -> 播放 #2 21/2 = 10, 优先级余量 = 1
    10  0  19  -> 播放 #3 ...

【数据限制】

  对于 \(100\%\) 的数据,\(1≤N≤1000\),\(1≤P_i≤10000\),\(1≤T≤1000\)。

【来源】

  Mr.he

初2026信竞班摸底测试

未参加
状态
已结束
规则
OI
题目
6
开始于
2023-09-08 16:30
结束于
2023-09-08 17:30
持续时间
1.0 小时
主持人
参赛人数
33