排列判断
描述
题目有多组测试,每组测试会给出一个长度为 n 的数组 P,你需要用程序判断 P 中的数字是否为一个 1-n 的排列
(包含1-n各一次)。
输入格式
第1行:1个数字t,表示测试的组数(1 < t <= 1000)。之后每组数据两行:
第1行:1个数字n,表示数组的长度(1 < n <= 500)。
第2行:共n个数字P[i],中间用空格分隔,对应数组的元素(1 < P[i] <= 10^9)。
输出格式
输出共t行,对应每一组数据的判断结果,输出“Yes”或者 "No"。
数据范围
1 <= t <= 1000,1 < n <= 500,1 < P[i] <= 10^9
输入样例
2
4
1 2 4 3
4
1 4 2 2
输出样例
Yes
NO
样例解释
1 2 4 3 包含 1-4各一次,所以输出 "Yes",
1 4 2 2 中不包括3,却出现了2个2,所以输出 "No"
----------------------------------------------------------------分隔符--------------------------------------------------------------------------------
小明和排队
描述:
小明现在喜欢上了排队,这天小明得到一个队列,队列里面每一个人都有身高和体重,小明想出这样一个问题,对于一个j位置的人,找到他左边第一个和他身高相同的人,假设这个人的位置为i ,那么j 位置的人得到的奖励为i 到 j之间(不包括 i 和j )所有人的体重和,小明想要知道这个队列中得到最多奖励的那个人的奖励是多少。但是小明不会做,聪明的你帮助小明解决这个问题吧。
输入格式
第一行输入一个n,表示队列的人数
接下来n行,每行两个数h和w,表示这个人的身高和体重
输出格式
输出一个数,表示最大奖励。
数据范围
1<=n<=1000000
1<=h,w<=1000
输入样例
5
10 20
20 10
20 30
10 10
20 20
输出样例
40
样例解释
第一个人,第二个人以及第三个人都得到0奖励第四个人得到10+30=40奖励
第五个人得到10的奖励
----------------------------------------------------------------分隔符--------------------------------------------------------------------------------
最大矩形
描述:
给出一个矩形的长 a 和宽 b ,以及对矩形期望的长宽比 x : y ,要求尽量少的缩短矩形的长和宽(缩短之后的长和宽必须仍然是正整数),使得矩形的长和宽之比等于 x : y ,求矩形最终的长和宽。答案希望矩形的面积越大越好。
输入格式
第一行:1个数T,表示测试数据的组数。后面T行:每行包含四个整数 a,b,x,y 。
输出格式
输出共T行,每行包含两个数,以空格隔开,表示矩形最终的长和宽。如果无法达到题目的要求则输出 0 0 。
数据范围
1<= a,b,x,y <= 2 * 10^9,1 <= T <= 100000。
输入样例
3
800 600 4 3
1920 1200 16 9
1 1 1 2
输出样例
800 600
1920 1080
0 0
----------------------------------------------------------------分隔符--------------------------------------------------------------------------------
瓶盖换饮料
描述:
洙河客厅正在举办一次促销优惠活动。新型饮料,凭3个瓶盖可以再换一瓶新型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动。那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。
输入格式
输入一行包含一个正整数n(1<=n<=1000000000)
输出格式
输出一行,包含一个整数,表示实际得到的饮料数数据范围
输入样例
100
输出样例
149