A - Nearest Interesting Number
题意:
给一个数字a,找出一个比a大的数字,它的数字和能整除于4,要求这个值最小。
分析:
从a开始循环,每次求出数字和,判断是否整除于4。
代码:
B - Equalize Prices
题意:
q个测试样例,n个整数,价格相差小于等于k,你需要找到一个新价格B,让任意一个价格和B相差的绝对值小于等于k。
分析:
只用看最大和最小值就行,中间的值一定可以,所以,只要最小值加k比最大值减k大就可以。
代码:
C - Computer Game
题意:
有q个测试样例,每行有四个整数,电脑电量k,回合数n,不充电每回合消耗a,充电每回合,消耗b,你需要求出不充电能玩的最多回合数,你必须完成所有回合,最后的电量必须大于0,或者无法完成。
分析:
首先如果你全部充电玩所有回合,需要的电量仍然大于本身电量,那么这个情况就是失败,如果总电量k减去假设n轮全使用b方法消耗后剩余的电量再除以a、b两种电量使用方式的余数为0.x减1.再输出x和n的最小值就是a方式再能完成n轮任务且有电量剩余情况下能使用的最多轮数。
代码:
D-Candy Box (easy version)
题意:
q个测试样例,每行n个数,你要统计每个数字出现的次数,求出个数相加的最大值,但是个数不能相同,相同需要减1.
分析:
用vector存储每一个数字出现的次数,然后降序排序,将第一个最大值给max1和sum,因为第一个最大值是肯定可以用的,然后从第二个数开始遍历,如果大于等于max1那么只能加上max1-1,否则的话,将当前值赋给max1,sum加上当前值,如果max1为0,则跳出循环。
代码: