NC53783. 被鸽了的应急理智顶液
描述
输入描述
一行俩个整数n,k 分别表示有n个干员,k瓶理智顶液
接下来一行n个整数x,二进制下的x表示每个干员的天赋点亮情况
输出描述
一行一个整数表示总体实力最高是多少
示例1
输入:
3 1 1 2 3
输出:
5
C++11(clang++ 3.9) 解法, 执行用时: 469ms, 内存消耗: 504K, 提交时间: 2020-03-26 16:37:06
#include <bits/stdc++.h> using namespace std; typedef unsigned long long ULL; const int N = 1000010; int n, k; ULL x, res1, res2; int main(){ cin >> n >> k; while(n--){ cin >> x; res1 ^= x, res2 |= x; } int pos = 62; while(!(res2 >> pos)) pos--; for(int i = pos; ~i && k; i--) if(!(res1 >> i & 1)) res1 |= (1ull << i), res2 |= (1ull << i), k--; cout << res1 + res2 << endl; }