[从hzwer神犇那翻到的模拟赛题] 合唱队形

 

【问题描述】

学校要进行合唱比赛了,于是班主任小刘准备给大家排个队形。

他首先尝试排成m1行,发现最后多出来a1个同学;接着他尝试排成m2行,发现最后多出来a2个同学,……,他尝试了n种排队方案,但每次都不能让同学们正好排成mi行。于是小刘寻求同事小明的帮助,以便给同学们排好队形。但小刘来去太匆忙,忘记告诉小明他们班有多少人了。没办法,现在只能根据上述信息求个满足要求的最小的数字来作为人数了。

虽然小明年轻时是理科生,但是他不愿意去思考这个问题;于是他找到了善于编程的你,希望你能通过编程来解决。

【输入格式】

第一行为一个整数n,表示小刘尝试了n种排队方案。

接下来n行,每行有两个整数mi,ai,表示小刘在第i种排队方案中,尝试让同学排成m行,最后多出来ai个同学。

【输出格式】

每个输出文件只有一个整数,表示最少学生数。如果找不到这样的整数,说明小刘口误了,输出-1。

【输入样例】

3

3 1

5 1

7 2

【输出样例】

16

【数据范围和约定】

对于40%的测试数据,满足mi≤l00。

对于l00%的测试数据,满足n≤10,0<ai<mi≤1000。

测试数据保证结果在64位整型存储范围内。

 

 

 

线性同余方程可解。

http://www.cnblogs.com/SilverNebula/p/5660802.html

贴个之前题解的链接,貌似连代码都不用改

做题记录喜+1

 

posted @ 2016-07-11 20:59  SilverNebula  阅读(354)  评论(0编辑  收藏  举报
AmazingCounters.com