Problem1961--下一个相同(课程ZK)

1961: 下一个相同(课程ZK)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

有 N 个方格的纸条,方格编号为 1 到 N。每个方格中有一个不超过 100000 的正整数。
现在任务是:每次给方格位置 x,问下一个(右边)和它数字相同的位置在哪里?
请设计一个算法,能 O(1)知道下一个位置。

Input

第一行:2 个整数 N,M,范围在[2,100000]。
第二行:N 个正整数,1 到 100000。
第三行:M 个整数,范围在[1,N],表示要问的位置 x。

Output

M 行,每次提问后,下一个和 x 位置相同数的位置在哪里?如果后面已经没有相同数,就
输出-1。

Sample Input Copy

7 4
2 3 1 2 2 3 3
2 1 3 4

Sample Output Copy

6
4
-1
5

Source/Category

链表