Untitled
unknown
plain_text
10 months ago
2.0 kB
4
Indexable
#include <bits/stdc++.h>
using namespace std ;
#define For(n) for(long long i = 0; i < n; i++)
#define endl '\n'
#define int long long
#define ll long long
#define fast() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
//***********************Nah I would win*************************/
bool does_The_Points_makeLine(double x[3] , double y[3]){
double d[3];
d[0] = sqrt(pow(abs(x[0]-x[1]) , 2) + pow(abs(y[0] - y[1]) ,2));
d[1] = sqrt(pow(abs(x[0]-x[2]) , 2) + pow(abs(y[0] - y[2]) ,2));
d[2] = sqrt(pow(abs(x[2]-x[1]) , 2) + pow(abs(y[2] - y[1]) ,2));
sort(d,d+3);
if(d[0]+d[1] - d[2] < 1e-6)return 1;
return 0;
}
bool knowBit (int n , int i){
return 1LL&(n>>i);
}
int setBit(int n, int i){
return n|(1<<i);
}
int resetBit(int n,int i){
return n&(-1^(1<<i));
}
int ResetBit(int n , int i){
return n&(~(1<<i));
}
int flibBit (int n, int i){
return n^(1<<i);
}
bool isPowerofTwo(int n){
return !(n&(n-1));
}
int comb (int n ,int r){
vector<int> facn , facr;// factorial n , r
for(int i = n ; i > n-r ; i--)
facn.push_back(i);
for(int i = 1; i <= r; i++)
facr.push_back(i);
int ret = 1;map<int,int> vis;
for(int i = 0 ; i< facn.size() ; i++){
ret *= facn[i];
int div = 0;
for(int j= 0 ; j < facr.size();j++){
if(ret%facr[j] == 0 && !vis[facr[j]])
div = facr[j];
}
if(div){
vis[div]++;
ret/= div;
}
else break;
}
return ret;
}
void Gojo(){
int n ,l ,r;cin>>n>>l>>r;
int a[61]{};
int sum = 0;
for(int i = 61; i>= 0; i--){
if( (!knowBit(n,i) && (sum + pow(2,i) <= r) ) || sum + pow(2,i) <= l){
sum += (1LL<<i);
}
}
cout << sum;
}
signed main ()
{//
fast()
int Tt = 1;
// cin>>Tt;
// int cnt = 1;
while (Tt--){
// cout << "Case #"<<cnt<<": ";
// cnt++;
Gojo();
cout << endl ;
}
}Editor is loading...
Leave a Comment