4177: 1的个数
Memory Limit:128 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:87
Solved:20
Description
给你一个数字N、L、R。
1、对于每一个大于1的N分成三个数字,分别是 ⌊N/2⌋ , N%2,⌊N/2⌋。
2、对于每一个数字如果大于1,那么继续操作,直到所有元素变成1和0为止。
请问这个01序列中,第L个到第R个总共有多少个1?
Input
输入三个数字N、L、R
Output
输出1的个数。
Sample Input Copy
样例输入1:
7 2 5
样例输入2:
10 3 10
Sample Output Copy
样例输出1:
4
样例输出2:
5
HINT
样例1解释:
[7] -> [3,1,3] -> [1,1,1,1,1,1,1]
在列表的第2到5当中的元素为:[1,1,1,1]总共有 4个1 ,故答案为:4
样例2解释:
[10] -> [5,0,5] -> [1,0,1,1,1,0,1,0,1,0,1,1,1,0,1]
在列表的第3到10当中的元素为:[1,1,1,0,1,0,1,0],总共有 5个1 ,故答案为:5
1 <= L <= R,R-L <= 100000
n的范围:$2^{10}, 2^{12}, 2^{14}, 2^{16}, ..., 2^{50}$