Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
1,739 views

in Online Assessments by Expert (108,170 points)
edited by | 1,739 views

2 Answers

0 like 0 dislike
Best answer
#include <bits/stdc++.h>

using namespace std;
typedef long long int ll ; 
ll a[200000+5];
ll ok[200000+5][50];
ll sum[200000+5][50];
ll k[55] ;
ll kk(ll x,ll y){
    
    ll vv = abs(x-y)+1;
    ll rr = 0 ; 
    ll i = 31 ; 
    while(i>=0){
        
        ll gg = abs(sum[y][i]-sum[x-1][i]);
        
        if(gg==vv){
            
            rr = ((rr) | (k[i]));
            
        }
        
        
        i--;
    }
    
    //cout<<"\n";
    //cout<<"\n";
    return rr ; 
    
}

int main() {
    
    ll n;
    cin>>n ; 
    ll i = 1 ; 
    while(i<=n){
        cin>>a[i];
        i++;
    }
    
    k[0] = 1 ; 
    i = 1 ; 
    while(i<=50){
        k[i] = (2*k[i-1]);//poewer...of 2....
        i++;
    }
    
    
    int j = 1 ; 
    while(j<=n) {
        for (int i = 31; i >= 0; i--) 
        { 
            int k = a[j] >> i; 
            if (k & 1) {
                //cout << "1";
                ok[j][i] = 1 ; 
            } 
            else{
                //cout << "0";
                }
            
        } 
    j++;
    }
    
    j = 1 ; 
    while(j<=n) {
        for (int i = 0; i <= 31; i++) 
        { 
            sum[j][i] = sum[j-1][i] + ok[j][i];
            
        } 
    j++;
    }
    
    ll q ; 
    cin>>q ;
    
    i = 1 ; 
    while(i<=q){
        ll l1,r1,l2,r2 ; 
        cin>>l1>>r1;
        cin>>l2>>r2;
        //cout<<l1;cout<<"\n";
        ll v2 = kk(l1,r1);
        ll v5 = kk(l2,r2);
        
        //cout<<v2<<" "<<v5 ; 
        
        ll rr = ((v2)^(v5));
        cout<<rr ;
        i++;
    }
    
    
    
    
    
/*
3
3 1 7 
1
1 1 3 3 

9
8 6 5 9 7 7 9 3 8 
1
3 5 5 5 

*/
    
    
    
    
    
    
    
    
    return 0 ; 
}
by Expert (108,170 points)
0 like 0 dislike

Coding Q : of BIT 

by Expert (108,170 points)