NC23483. 小A的位运算
描述
输入描述
输出描述
示例1
输入:
5 1 2 4 8 16
输出:
30
说明:
选择2,4,8,16或的和是最大的,没有比这个更大的方案。C++14(g++5.4) 解法, 执行用时: 64ms, 内存消耗: 2016K, 提交时间: 2019-04-13 01:42:15
#include<bits/stdc++.h> using namespace std;long long a[5000005],x[5000005],t,n,i=1,ans;int main(){cin>>n;for(;i<=n;)cin>>x[i],a[i]=a[i-1]|x[i++];for(i=n;i;)ans=max(ans,a[i-1]|t),t|=x[i--];cout<<ans;}
C++11(clang++ 3.9) 解法, 执行用时: 37ms, 内存消耗: 872K, 提交时间: 2019-04-12 19:17:39
#include<stdio.h> int a[5000100]; int main() { int n;int ans=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); ans|=a[i]; } printf("%d\n",ans); return 0; }