Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int dfs(int v, int lr, int rl){
- if(l > rl || r < lr){
- return 0;
- }
- if(lr >= l && rl <= r){
- return p[v];
- }
- return dfs(x/2)
- }
- void rec(int v){
- if(v > 1)
- rec(v / 2);
- p[v] = p[v/2] * 2 + v % 2;
- }
- int main(){
- scanf("%d%d%d", &n, &l, &r);
- while(n > 1){
- n /= 2;
- all += k;
- k *= 2;
- }
- all += k;
- rec(n);
- printf("%d", dfs(n, 1, all));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement