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}$

加入题单

算法标签: