给一组数,对每一个数有三种操作:在原本基础上加一,在原本基础上减一,不变.然后对这三种情况进行统计,看看哪个数字出现次数最多,将最大次数输出.
题目给的a[i]最大可能是1e5,所以就开一个cnt[100010]的数组统计数字出现的次数.
题目给的k值最大是10000,那么x的取值大概在1e8左右,用两个for循环分别枚举x和y肯定会超时.
所以先枚举一个x,然后结合k,验证所得的y是否满足要求(即是否能整除)
这题恶心就恶心在输出上,需要有两个\n
因为题目中有这句话:
如果有解,按顺序输出结果,没有的话输出There are no solutions for N.
和Problem B一样,想要枚举两个,肯定会超时,所以只能枚举一个,然后验证.
换行问题:
这题和Problem C一样,输出上面有点恶心,但是又不完全一样,第一行输出的时候不需要换行,后面的都需要换行.
因为如果传入的x为1,那么就只对1这个数加了一次,但是四个前导0都没有加进去,然而这也是不符合条件的.所以要用for循环.
给定N只蚂蚁,并且给定他们的坐标以及活动范围,蚂蚁只会朝着一个方向走,如果遇到另一只蚂蚁就换个方向走,由于蚂蚁走的方向不确定,因此蚂蚁全部离开活动范围所需的时间也不一样,需要我们输出可能所需时间的最大值以及最小值.
对于所需时间的最小值:
只要让所有蚂蚁往距离自己最近的端点走即可,然后找出最后一只蚂蚁离开的时间,输出即可.
对于所需时间的最大值:
其实两只蚂蚁遇见之后,换个方向走,对结果没有影响,因为每只蚂蚁都是一样的,原本一只向左,一只向右,遇见之后是一只向右,一只向左,对整体来说没有影响.因此只需要要所有蚂蚁往距离自己最远的端点走即可,然后找出最后一只蚂蚁离开的时间,输出即可.
其实就是一个在所有最小值里找最大和在所有最大值里找最大的题目.