When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

AK_04's blog

By AK_04, history, 3 years ago, In English

include

include

using namespace std; long long int setBitNumber(long long int n) { if (n == 0) return 0;

long long int msb = 0; 
n = n / 2; 
while (n != 0) { 
    n = n / 2; 
    msb++; 
} 

return (1 << msb);

} int main() { long int t; cin>>t; while(t--){ long long int n,i,cnt=0; cin>>n; long long int a[n],b[n],maxi=0,gcnt=0; for(i=0;i<n;i++) { cin>>a[i]; maxi=max(a[i],maxi); } long int p =setBitNumber(maxi); long int q=log(p)/log(2); if(p==1) {

}
for(int j=0;j<=(q);j++)
{
    for(i=0;i<n;i++)
    {
        if(a[i]>=p)
        {
            b[i]=1;
        }
        else
        {
            b[i]=0;
        }
        if(b[i]==1)
        {
            cnt++;
            a[i]=0;
        }

    }

    gcnt =gcnt + cnt*(cnt-1)/2;
    cnt=0;
    p=p/2;

}
cout<<gcnt<<endl;
}

} what is wrong in the code ?

  • Vote: I like it
  • -24
  • Vote: I do not like it

| Write comment?
»
3 years ago, # |
  Vote: I like it +23 Vote: I do not like it

Bro properly format the code before pasting or provide a link to code, it's hard to read like this.