小欧有一个长度为n,首项为a,公差为d的等差数列。即a, a+d, a+2d, ... ,a+(n-1)d。
现在,小欧把这n个数看作一个集合,每次操作可以从集合中任意选两个数ai, aj,如果 ai+aj是偶数,那么可以将(ai+aj) / 2 加入到集合中。
小欧想知道,经过若干次操作后,集合中最多能有多少个数。
一行三个整数n, a, d,表示等差数列的长度,首项和公差。
1 <= n <= 10^5
1 <= a, d <= 10^9
输出一个整数,表示集合中最多能有多少个数。
5 1 2
9
刚开始集合为{1,3,5,7,9}。
选1和3 => 2
选3和5 => 4
选5和7 => 6
选7和9 => 8
生成的数如2,4,6,8也可以选,但是可以证明,不管你怎么选,你生成不了超过9的数。
所以最终的集合为{1,2,3,4,5,6,7,8,9}。注意:集合中不能包含重复的数。
时间限制:c/c++:1s; 其他语言:2s.
选择合适的字体大小
选择合适的主题