#508. 倒水游戏

倒水游戏

问题描述

在一个炎热的午后, Alex 决定和朋友们玩倒水游戏。Alex 准备了 N(1≤N≤1,000)N(1 \le N \le 1{,}000) 瓶水,按 1..N1..N 依次编号。

倒水的顺序则是按照 Alex 自己设计的玩法来决定:

  • 第 ii 瓶水有一个初始容量 Ai (1≤Ai≤10,000)A_i\ (1 \le A_i \le 10{,}000)。
  • 当一瓶水被倒干净后,接下来倒的将是所有瓶水中容量最大的那瓶(如果有两瓶或多瓶水的容量相同,那么这些水瓶中编号最小的那瓶会被选中)。
  • 一瓶水在倒的时候,它的容量会被平均地分给其他 N−1N-1 瓶水,它本身的容量清零。
  • 如果一瓶水的容量无法被平均分配(也就是说,无法被 N−1N-1 整除),那么被 N−1N-1 除的余数部分将会以 11 为单位,顺次分配给编号靠前的水瓶(也就是说,顺序为水瓶 11 、水瓶2⋯2 \cdots 依次下去。当然,被倒的那瓶需要被跳过),直到多出的部分被分配完。

在选定下一瓶水后,这个算法再次被执行,调整所有水瓶的容量,并选出再接下来要倒的水瓶。

请你计算一下,按 Alex 的算法,最先被倒的 T (1≤T≤1000)T\ (1 \le T \le 1000) 瓶水分别是哪些。

输入格式

第 11 行有两个用空格隔开的整数:NN 和 TT。

第 22 至第 N+1N+1 行,第 i+1i+1 行为 11 个整数 AiA_i。

输出格式

输出共 TT 行,第 ii 行输出一个整数,表示 被倒的第 ii 瓶水。

样例输入

3 4
10
8
11

样例输出

3
1
2
3

说明

每一瓶水被倒出来之前,三瓶水的容量分别为:

  • [10,8,11][10,8,11]。倒出第33瓶,11/2=511/2 = 5,余量为 11。
  • [16,13,0][16,13,0]。倒出第11瓶,16/2=816/2 = 8。
  • [0,21,8][0,21,8]。倒出第22瓶,21/2=1021/2 = 10,余量为 11。
  • [11,0,18][11,0,18]。倒出第33瓶,……

数据范围

对于 30%的数据,保证有 N≤100N \le 100, T≤100T \le 100, 1≤Ai≤1000\ 1 \le A_i \le 1000;

对于 60%的数据,保证有N≤500N \le 500, T≤500T \le 500, 1≤Ai≤5000\ 1 \le A_i \le 5000;

对于全部的数据,保证有N≤1000N \le 1000, T≤1000T \le 1000, 1≤Ai≤10,000\ 1 \le A_i \le 10{,}000。