c++11交上wa了,c++14交上AC了,蒟蒻就教
  • 板块学术版
  • 楼主尹昱钦
  • 当前回复17
  • 已保存回复17
  • 发布时间2021/2/20 11:08
  • 上次更新2023/11/5 03:00:08
查看原帖
c++11交上wa了,c++14交上AC了,蒟蒻就教
70081
尹昱钦楼主2021/2/20 11:08
#include<cstdio>
#include<iostream>
#include<cstring>
#include<iomanip>
#include<cmath>
using namespace std;
const int maxn=200005;
int n,a[maxn],num[65];
long long k,x,ans; 
int main(){
	cin>>n>>k>>x;
	long long xx=pow(x,k);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		int x=a[i],cnt=0;
		while(x>0){
			cnt++;
			if(x&1) num[cnt]++;
			x>>=1;
		}
	}
	for(int i=1;i<=n;i++){
		long long x=a[i],cnt=0,res=0;
		while(x>0){
			cnt++;
			if(x&1) num[cnt]--;
			x>>=1;
		}
		cnt=1;
		for(int j=1;j<=63;j++){
			if(num[j]) res+=cnt;
			cnt<<=1;
		}
		ans=max(ans,res|(a[i]*xx));
		x=a[i];
		cnt=0;
		while(x>0){
			cnt++;
			if(x&1) num[cnt]++;
			x>>=1;
		}
	}
	cout<<ans;
    return 0;
}
2021/2/20 11:08
加载中...