Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void sol2()
- {
- LL ans = 0;
- A--; B--; K--;
- FOR(a,-1,29) if (a==-1 || ((A>>a)&1))
- FOR(b,-1,29) if (b==-1 || ((B>>b)&1))
- FOR(k,-1,29) if (k==-1 || ((K>>k)&1))
- {
- LL tmp = 1;
- FOR(z,0,29)
- {
- int mia=0, maa=1, mib=0, mab=1, mik=0, mak=1;
- if (z==a) mia=maa=0;
- else if (z>a) mia=maa=((A>>z)&1);
- if (z==b) mib=mab=0;
- else if (z>b) mib=mab=((B>>z)&1);
- if (z==k) mik=mak=0;
- else if (z>k) mik=mak=((K>>z)&1);
- int tt=0;
- FOR(aa,mia,maa)
- FOR(bb,mib,mab)
- FOR(kk,mik,mak)
- if ((aa&bb)==kk)
- tt++;
- tmp*=tt;
- }
- ans += tmp;
- }
- cout << ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment