#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
#define LL long long
int n,k,x;
int a[200005],l[200005],r[200005];
int main(){
scanf("%d%d%d",&n,&k,&x);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
l[0]=0;
for(int i=1;i<=n;i++)
l[i]=(l[i-1]|a[i]);
r[n+1]=0;
for(int i=n;i>=1;i--)
r[i]=(r[i+1]|a[i]);
LL ans=0,A=1;
for(int i=1;i<=k;i++)
A*=x;
for(int i=1;i<=n;i++)
ans=max(ans,(A*a[i])|l[i-1]|r[i+1]);
printf("%I64d\n",ans);//如果用%lld在CF上是不允许提交的
return 0;
}cf#320 Div.2 Problem D "Or" Game
最新推荐文章于 2022-11-14 13:54:17 发布
本文探讨了C++编程中代码优化技巧及算法应用案例,涵盖了数组、链表、二叉树等数据结构和排序、动态规划、贪心算法等经典算法。通过实例解析,展示了如何提高程序效率和解决实际问题。

1313

被折叠的 条评论
为什么被折叠?



