Submission #1312353
Source Code Expand
// {{{ Boilerplate Code <--------------------------------------------------
// vim:filetype=cpp:foldmethod=marker:foldmarker={{{,}}}
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <utility>
#include <vector>
#define FOR(I,A,B) for(int I = (A); I < (B); ++I)
#define ALL(A) (A).begin(), (A).end()
using namespace std;
// }}}
int lsb(long long in){
int ret=0;
while(in){
ret++;
in>>=1;
}
return ret;
}
int main(){
long long A,B;
cin>>A>>B;
if(A==B){
cout<<1<<endl;
return 0;
}
while(lsb(A)==lsb(B)){
long long t=1LL<<(lsb(A)-1);
A-=t;
B-=t;
}
int lsbnow=lsb(B)-1;
long long ans=0;
long long t1 = (1LL<<lsbnow)-A;
long long t2 = (1LL<<lsb(B-(1LL<<lsbnow)));
if(t1+t2>1LL<<lsbnow){
ans = (1LL<<lsbnow) + t1;
}else{
ans = t1+t1+t2;
}
cout<<ans<<endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - A or...or B Problem |
| User | nhirokinet |
| Language | C++14 (GCC 5.4.1) |
| Score | 900 |
| Code Size | 1138 Byte |
| Status | AC |
| Exec Time | 1 ms |
| Memory | 256 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 900 / 900 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, s1.txt, s2.txt, s3.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 1 ms | 256 KiB |
| 02.txt | AC | 1 ms | 256 KiB |
| 03.txt | AC | 1 ms | 256 KiB |
| 04.txt | AC | 1 ms | 256 KiB |
| 05.txt | AC | 1 ms | 256 KiB |
| 06.txt | AC | 1 ms | 256 KiB |
| 07.txt | AC | 1 ms | 256 KiB |
| 08.txt | AC | 1 ms | 256 KiB |
| 09.txt | AC | 1 ms | 256 KiB |
| 10.txt | AC | 1 ms | 256 KiB |
| 11.txt | AC | 1 ms | 256 KiB |
| 12.txt | AC | 1 ms | 256 KiB |
| 13.txt | AC | 1 ms | 256 KiB |
| 14.txt | AC | 1 ms | 256 KiB |
| 15.txt | AC | 1 ms | 256 KiB |
| 16.txt | AC | 1 ms | 256 KiB |
| 17.txt | AC | 1 ms | 256 KiB |
| 18.txt | AC | 1 ms | 256 KiB |
| 19.txt | AC | 1 ms | 256 KiB |
| 20.txt | AC | 1 ms | 256 KiB |
| 21.txt | AC | 1 ms | 256 KiB |
| 22.txt | AC | 1 ms | 256 KiB |
| 23.txt | AC | 1 ms | 256 KiB |
| 24.txt | AC | 1 ms | 256 KiB |
| 25.txt | AC | 1 ms | 256 KiB |
| 26.txt | AC | 1 ms | 256 KiB |
| 27.txt | AC | 1 ms | 256 KiB |
| 28.txt | AC | 1 ms | 256 KiB |
| 29.txt | AC | 1 ms | 256 KiB |
| 30.txt | AC | 1 ms | 256 KiB |
| 31.txt | AC | 1 ms | 256 KiB |
| 32.txt | AC | 1 ms | 256 KiB |
| 33.txt | AC | 1 ms | 256 KiB |
| 34.txt | AC | 1 ms | 256 KiB |
| 35.txt | AC | 1 ms | 256 KiB |
| 36.txt | AC | 1 ms | 256 KiB |
| 37.txt | AC | 1 ms | 256 KiB |
| 38.txt | AC | 1 ms | 256 KiB |
| 39.txt | AC | 1 ms | 256 KiB |
| 40.txt | AC | 1 ms | 256 KiB |
| 41.txt | AC | 1 ms | 256 KiB |
| 42.txt | AC | 1 ms | 256 KiB |
| 43.txt | AC | 1 ms | 256 KiB |
| 44.txt | AC | 1 ms | 256 KiB |
| 45.txt | AC | 1 ms | 256 KiB |
| 46.txt | AC | 1 ms | 256 KiB |
| 47.txt | AC | 1 ms | 256 KiB |
| 48.txt | AC | 1 ms | 256 KiB |
| 49.txt | AC | 1 ms | 256 KiB |
| 50.txt | AC | 1 ms | 256 KiB |
| 51.txt | AC | 1 ms | 256 KiB |
| 52.txt | AC | 1 ms | 256 KiB |
| 53.txt | AC | 1 ms | 256 KiB |
| 54.txt | AC | 1 ms | 256 KiB |
| 55.txt | AC | 1 ms | 256 KiB |
| 56.txt | AC | 1 ms | 256 KiB |
| s1.txt | AC | 1 ms | 256 KiB |
| s2.txt | AC | 1 ms | 256 KiB |
| s3.txt | AC | 1 ms | 256 KiB |