CF447A.DZY Loves Hash

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

DZY has a hash table with p buckets, numbered from 0 to p - 1. He wants to insert n numbers, in the order they are given, into the hash table. For the i-th number x__i, DZY will put it into the bucket numbered h(x__i), where h(x) is the hash function. In this problem we will assume, that h(x) = x mod p. Operation a mod b denotes taking a remainder after division a by b.

However, each bucket can contain no more than one element. If DZY wants to insert an number into a bucket which is already filled, we say a "conflict" happens. Suppose the first conflict happens right after the i-th insertion, you should output i. If no conflict happens, just output -1.

DZY 有一个包含 pp 个桶的哈希表,桶编号从 00 到 p−1p-1。他要按给定顺序将 nn 个数插入该哈希表中。对于第 ii 个数 xix_i,DZY 将其放入编号为 h(xi)h(x_i) 的桶中,其中 h(x)h(x) 是哈希函数。在本题中,我们假设 h(x)=x mod ph(x) = x \bmod p。运算 a mod ba \bmod b 表示 aa 除以 bb 后所得的余数。

然而,每个桶最多只能容纳一个元素。若 DZY 尝试将一个数插入到已被占用的桶中,则称发生了一次“冲突”。假设第一次冲突恰好发生在第 ii 次插入之后,请输出 ii;若未发生任何冲突,则输出 −1-1。

输入格式

The first line contains two integers, p and n (2 ≤ p, n ≤ 300). Then n lines follow. The i-th of them contains an integer x__i (0 ≤ x__i ≤ 109).

第一行包含两个整数 pp 和 nn(2≤p,n≤3002 \leq p, n \leq 300)。接下来是 nn 行,其中第 ii 行包含一个整数 xix_i(0≤xi≤1090 \leq x_i \leq 10^9)。

输出格式

Output a single integer — the answer to the problem.

输出一个整数——该问题的答案。

输入输出样例

  • 输入#1

    10 5
    0
    21
    53
    41
    53

    输出#1

    4
  • 输入#2

    5 5
    0
    1
    2
    3
    4

    输出#2

    -1

输入解题思路,AI测评打分。不知道怎么写?

首页