T792602 【C1070】 - 弹珠在哪里

题目描述

Raju和Meena喜欢玩弹珠。他们有很多写着数字的弹珠。一开始,Raju会按照弹珠上写的数字的升序依次放置弹珠。 然后,Meena会要求Raju找到第一个带有某个数字的弹珠,她会数1...2...3...。如果Raju回答正确,他会得到一分;如果Raju回答错误,这一分则归Meena。在固定次数的尝试之后,游戏结束,得分最多的玩家获胜。 今天轮到你扮演Raju了,作为聪明的孩子,你将会得到计算机的帮助。但不要小看Meena,她写了一个程序来追踪你花费多少时间回答所有问题。 现在你必须编写一个程序,这个程序将会帮助你扮演Raju的角色。

输入格式

有多组测试案例 每个测试案例以两个整数开头:N 表示弹珠的数量,Q 表示Meena会提出的查询数量 接下来的 N 行将包含写在 N 个弹珠上的数字,这些弹珠上的数字不会以任何特定的顺序出现。 接下来的 Q 行将包含 Q 个查询,每个查询给出一个待查询的数字 当 N = 0 且 Q = 0时代表输入结束

输出格式

对于每组测试案例,输出案例的序列号。 对于每个查询,打印一行输出,这一行的格式将取决于查询的数字是否出现在任何弹珠上。 以下描述了两种不同的格式: - `x found at y`,如果找到了编号为 x 的第一个弹珠,并且它位于位置 y,位置从 1 到 N 编号 - `x not found`,如果编号为 x 的弹珠不存在 查看示例输入的输出以获取详细信息

说明/提示

50%的数据:$1 \le N, Q \le 1000$,一共不超过5组测试数据,N个整数和待查询的Q个整数中每个整数都在0 ~ 100000之间 100%的数据:$1 \le N, Q \le 100000$,一共不超过5组测试数据,N个整数和待查询的Q个整数中每个整数都在0 ~ 100000之间 【提示点】 数据量较大,如果使用C++读写(cin + cout),则需要用到C++加速读写的方式 ``` cpp const char endl = '\n'; ios::sync_with_stdio(false); cin.tie(0); ``` 如果使用C语言风格读写(scanf + printf),则不需要使用上面的C++加速读写的方式