题解:P10696 [SNCPC2024] 写都写了,交一发吧
wangbinfeng · · 题解
本题是比赛的签到题,线下赛共计
- 定理
1 :\forall i,j\in\N^+,\;i\operatorname{\;and\;}j\le\min(i,j) 。证明:对于任意一个正整数对其他正整数做按位与(且)运算,它在二进制下相应位的
0 不可能变为1 ,但相应位的1 存在变为0 的可能(只需与其按位与的数相应位为0 即可)。 - 定理
2 :\forall i\in\N^+,\;i\operatorname{\;and\;}i=i 。证明:对于在二进制下的任意位,如果已经为
1 则一定还为1 ,为0 则一定也只能还为0 。
那么,总结一下两个定理,得出
从两个数拓展到
代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=159;
int t,ans,n;
signed main(){
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
for(cin>>t;t--;ans=0){
cin>>n;
for(int i=1,x;i<=n;i++)cin>>x,ans=max(ans,x);
cout<<ans<<'\n';
}
}