/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 532.0 KiB
#2 Accepted 2ms 488.0 KiB
#3 Wrong Answer 61ms 1.02 MiB
#4 Wrong Answer 96ms 50.77 MiB
#5 Wrong Answer 93ms 50.828 MiB
#6 Wrong Answer 27ms 576.0 KiB
#7 Wrong Answer 30ms 532.0 KiB
#8 Wrong Answer 31ms 532.0 KiB
#9 Wrong Answer 89ms 50.828 MiB
#10 Wrong Answer 136ms 50.77 MiB

Code

#include<bits/stdc++.h>
using namespace std;
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
#define prime_number[21]={11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97}
///POLICY BASED DATA STRUCTURE..
///order_of_key return number of element which are strictly greater/smaller than x..
///find_by_order return ans iterator corresponding to the xth position of the set..
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type,less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>
#define ll long long int
#define faster_bro ios_base::sync_with_stdio(false);cin.tie(NULL)
#define esp 0.0000000001
#define ss second
#define ff first
#define nl cout<<endl
//memset(ar,-1,sizeof(ar));
// (1LL<<i) more than efficient pow(2,i);
void fast(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
}
const int N=200005;
ll dp[N][32];

int main(){
    fast();
    int tc;
    cin>>tc;
    int h=1;
    while(tc--){
        ll a,b,c,sum=0,sum1=0,sum2=0,cnt=0,mx=LLONG_MIN,mn=LLONG_MAX,mx1=-1e18,mx2=-1e18;
        cin>>a;
        ll ar[a+1];
        for(int i=1;i<=a;i++){
            cin>>ar[i];
            mx=max(ar[i],mx);
        }
        int bit;
        for(int i=1;i<=a;i++){
            for(int j=0;j<=31;j++){
                dp[i][j]=0;
            }
        }
        for(int i=31;i>=0;i--){
               int msk=(1) & (mx>>i);
               if(msk==1){
                bit=i;
                break;
               }
        }

        for(int i=0;i<=bit;i++){
            for(int j=1;j<=a;j++){
                int msk=(1) & (ar[j]>>i);

                    dp[j][i]=dp[j-1][i]+msk;
                    //cout<<j<<" "<<i<<" "<<dp[j][i]<<endl;;
            }

        }


        for(int i=1;i<a;i++){
               bool f;
            for(int j=0;j<=bit;j++){
                int l=dp[i][j];

                int l1=dp[a][j]-dp[i][j];
               // cout<<l<<" "<<l1<<endl;
                if((l%2==0 && l1%2==0)||(l%2!=0 && l1%2!=0)){
                   f=true;
                }
                else{
                    f=false;
                    break;
                }
            }
            if(f){
                cnt++;
            }

        }
        cout<<cnt<<endl;
    }
}

Information

Submit By
Type
Submission
Problem
P1096 Mr. Heart and the XOR Puzzle
Language
C++17 (G++ 13.2.0)
Submit At
2024-10-04 17:37:44
Judged At
2024-10-04 17:37:44
Judged By
Score
20
Total Time
136ms
Peak Memory
50.828 MiB