签到题,
Description:
Peppa has been learning math recently, he is trapped by a easy problem. He is given a sequence of n numbers, what he need to do is finding the number ai which have the largest number f(ai). The function f(x)=∑(i|x) where i goes form 0 to x, | is the symbol of or-by-bit calculate.
Input:
The first line of the input has an integer T(1<=T<=10), which represents the number of test cases.
In each test case, the first line of the input contains an integers n(1<=n<=1000)–the number of the integers, next line has n integers a[i] (1 <= a[i] <= 10000).
Output:
Each test case output an integer ai which have the largest number f(ai).
样例输入
1
3
2 3 5
样例输出
5
题意:
给出n个数,a[i]到a[n],f(x)=∑(i|x),求使得f(a[i])最大的a[i]。
思路:
刚开始看到还有点晕,暴力写了一次,其实就是找从a[1]到a[n]中的最大。(lll¬ω¬)好坑啊我。
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#define INF 0x3f3f3f3f
using namespace std;
const int maxn = 1e3+5;
int n;
int main(){
int t;
scanf("%d",&t);
while(t--){
int ans = -INF;
int temp;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&temp);
ans = max(ans,temp);
}
printf("%d\n",ans);
}
return 0;
}