#P1059. 填纸游戏

填纸游戏

题目描述

本题是交互题。

桌面上从左到右摆着 nn 个空位置。游戏会进行若干轮,最多不超过 mm 轮。

在每一轮中,交互器给你一个整数 xx,满足 1xc1\le x\le c。你需要选择一个位置 pp,把 xx 放到第 pp 个位置上。如果这个位置之前已经有数,那么旧数会被新的 xx 覆盖。

只要在某一轮结束后,所有 nn 个位置都已经有数,并且从第 11 个位置到第 nn 个位置形成的序列是非降的,你就立即获胜。本轮之后交互器会停止继续给数。

输入格式

交互开始时,交互器先输出三个整数 n,m,cn,m,c

之后每一轮,交互器输出一个当前需要放置的整数 xx

在本地测试中,交互器使用隐藏输入文件保存整局游戏。隐藏输入格式为:

第一行三个整数 n,m,cn,m,c

接下来 mm 行,每行一个整数,依次表示每一轮交互器给出的数。

输出格式

每次读到当前数 xx 后,输出一行一个整数 pp,表示将 xx 放到第 pp 个位置,要求 1pn1\le p\le n。输出后必须刷新缓冲区。

如果你已经让所有位置都有数且整体非降,程序应当直接正常结束,不要继续等待或读取后续数字。

样例

2 4 4
2
1
3
1
2
2

样例说明

样例中共有 22 个位置。

33 轮结束后,可以让两个位置上的数变为 2,32,3。此时两个位置都已填入数字,并且从左到右非降,因此已经达成目标,后续轮次不再需要处理。

数据范围

n,m2n,m\ge 2

1c10001\le c\le 1000

$n\cdot\left\lceil\dfrac c2\right\rceil\le m\le 1000$。

每一轮给出的整数都在 [1,c][1,c] 内。