码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #FF (Div. 2) A. DZY Loves Hash

时间:2017-07-25 16:35:36      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:art   条件   insert   div   spec   scanf   ems   nes   eof   

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 xi, DZY will put it into the bucket numbered h(xi), 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.

Input

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 xi (0?≤?xi?≤?109).

Output

Output a single integer — the answer to the problem.

Sample test(s)
Input
10 5
0
21
53
41
53
Output
4
Input
5 5
0
1
2
3
4
Output
-1


注意数据范围p,m<=200。尽管输入的数据较大,刚開始自己mod1000000001,发现这不能有冲突了,而且还要标记下第一个发生冲突,以后的冲突能够忽略


#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<cmath>
#include<algorithm>
#define LL int
#define inf 0x3f3f3f3f
using namespace std;
int ha[10002];
int bj;
int main()
{
    LL n,m,i,j,k,l;
    while(~scanf("%d%d",&n,&m))
    {
        bj=0;
        memset(ha,0,sizeof(ha) );
        for(i=1;i<=m;i++)
        {
            scanf("%d",&k);
            k=k%n;//对当前的输入值的个数进行%
            if(!ha[k])
            {
                ha[k]++;
            }
            else if(ha[k]!=0&&!bj  )//仅仅取。符合条件的第一个<span id="transmark"></span>
            {
                bj=i;
            }
        }
        if(!bj)
        printf("-1\n");
        else printf("%d\n",bj);
    }
    return 0;
}




Codeforces Round #FF (Div. 2) A. DZY Loves Hash

标签:art   条件   insert   div   spec   scanf   ems   nes   eof   

原文地址:http://www.cnblogs.com/lxjshuju/p/7234827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!