社区讨论
40pts 玄关求条
P13565「CZOI-R5」按位或参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mjwt9ex2
- 此快照首次捕获于
- 2026/01/02 19:49 2 个月前
- 此快照最后确认于
- 2026/01/05 18:25 上个月
记录:https://www.luogu.com.cn/record/256173825
代码:
CPP#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
#define int long long
int n,m,ans;
int a[N],b[N];
bool check(int x){
int tot=0;
for(int i=1;i<=n;i++)
b[i]=a[i];
for(int i=1;i<=n;i++){
if(b[i]&x){
while((ans|b[i])<=ans&&(b[i]&x)) tot++,b[i]<<=1;
if((ans|b[i])>ans) return 0;
}
}
if(tot>m) return 0;
for(int i=1;i<=n;i++){
a[i]=b[i];
}
m-=tot;
return 1;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
cin>>m;
for(int i=30;i>=0;i--){
ans^=(1<<i);
}
for(int i=30;i>=0;i--){
if(check(1<<i)){
ans^=(1<<i);
}
}
cout<<ans;
return 0;
}
不知道怎么会WA,求好心的大佬hack。
回复
共 0 条回复,欢迎继续交流。
正在加载回复...