#508. 倒水游戏

倒水游戏

问题描述

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

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

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

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

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

输入格式

11 行有两个用空格隔开的整数:NNTT

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%的数据,保证有 N100N \le 100T100T \le 100 1Ai1000\ 1 \le A_i \le 1000;

对于 60%的数据,保证有N500N \le 500T500T \le 500 1Ai5000\ 1 \le A_i \le 5000

对于全部的数据,保证有N1000N \le 1000T1000T \le 1000 1Ai10,000\ 1 \le A_i \le 10{,}000