新生训练赛round2--H. Can you find it?

来源:互联网 发布:知乎风油精帖子链接 编辑:程序博客网 时间:2024/05/16 06:26
Time Limit: 3000ms
Memory Limit: 10000KB
64-bit integer IO format: %I64d      Java class name:Main

Give you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate if you can find the three numbers Ai, Bj, Ck, which satisfy the formula Ai+Bj+Ck = X.

Input

There are many cases. Every data case is described as followed: In the first line there are three integers L, N, M, in the second line there are L integers represent the sequence A, in the third line there are N integers represent the sequences B, in the forth line there are M integers represent the sequence C. In the fifth line there is an integer S represents there are S integers X to be calculated. 1<=L, N, M<=500, 1<=S<=1000. all the integers are 32-integers.

Output

For each case, firstly you have to print the case number as the form "Case d:", then for the S queries, you calculate if the formula can be satisfied or not. If satisfied, you print "YES", otherwise print "NO".

Sample Input

3 3 31 2 31 2 31 2 331410

Sample Output

Case 1:NOYESNO----------------------------比赛时拿到题很傻逼地直接三个循环找相等的数,结果没有疑问地TLE。赛后才知道要用二分法。然后又很傻逼地只对第三组数据二分查找,结果又很明显地TLE。最后看了挑战。。。又很傻逼地把前两组的和放入一个新的数组,对这个数组二分查找,结果就AC了。还是要回来看看时间复杂度是个怎么样的数。--------------------------------code:
0 0
原创粉丝点击