Блог пользователя AK_04

Автор AK_04, история, 4 года назад, По-английски

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 ?

  • Проголосовать: нравится
  • -24
  • Проголосовать: не нравится

»
4 года назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

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