牛客小白月赛39--E迷惘

#include<iostream>
#define ll long long 
using namespace std;
ll a[10005];
ll n,m;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>n;
    ll ans2=0;
	while(n--){
		cin>>m;
		ll k=0;
		int s=-1;
		while(m){
        	//转为二进制数并记录
			a[k++]=m%2;
            //记录第一个非0的位置
			if(s==-1&&a[k-1])	s=k-1;
			m/=2;
		} 
		ll ans=0;
        //s==-1说明,答案是0,不用算了
		if(s!=-1){
			while(s<k){
				ans=2*ans+a[s++];
			}
			ans2+=ans;
		}
	}
    cout<<ans2<<endl;
	return 0;
}


全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
10-17 17:14
门头沟学院 C++
牛客410039819号:北京地区大多是919和927,这两场挂太多人了
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务