为啥样例就错了
查看原帖
为啥样例就错了
575655
Chtholly_is_cute楼主2024/5/8 22:24

code:

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define lowbit(x) ((x)&(-x))
int f[222222];
void solve(){int ans=1ll<<62;
    int n;
    memset(f,0,sizeof(f));
    cin>>n;
    int cnt=0;
    for(int i=1;i<=n;i++){
        scanf("%d",f+i);
        cnt+=f[i]%2;
        ans=min(1ll*ans,(int)log(lowbit(f[i])));
    }
    if(cnt!=0)cout<<n-cnt<<endl;
    else cout<<n+ans-1<<endl;
}
signed main(){int t;
cin>>t;
for(int i=1;i<=t;i++){
    solve();
}}
2024/5/8 22:24
加载中...