Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define IOS ios::sync_with_stdio(false);cin.tie(0);
  3. #define fi first
  4. #define se second
  5. #define reset(n,k) memset((n),k,sizeof(n))
  6. #define all(n) n.begin(),n.end()
  7. #define pb push_back
  8. using namespace std;
  9. using ll=long long;
  10. using pii=pair<int,int>;
  11. ll X1,Y1,X2,Y2;
  12.  
  13. ll power3[50];
  14.  
  15. ll ans(ll tx,ll ty,ll dx,ll dy,ll num){
  16. if(tx >= X1 && ty >= Y1 && dx <= X2 && dy <= Y2) return power3[num];
  17. if(tx > X2 || ty > Y2 || dx < X1 || dy < Y1) return 0;
  18. ll midx = (tx + dx) / 2, midy = (ty + dy) / 2;
  19. return ans(tx,ty,midx,midy,num-1) + ans(midx+1,ty,dx,midy,num-1) + ans(tx,midy+1,midx,dy,num-1);
  20. }
  21.  
  22. int main(){
  23. IOS;
  24. power3[0] = 1;
  25. for(int i=1;i<=40;i++) power3[i] = power3[i-1]*3;
  26. cin>>X1>>Y1>>X2>>Y2;
  27. cout<<ans(1,1,1LL<<39,1LL<<39,39)<<'\n';
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement