jsk1227

Nise-Anti-AK Problem

签到题,
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).

sample input

1
3
2 3 5

Sample output

5

Question meaning:
Given n numbers, a[i] to a[n], f(x)=∑(i|x), find a[i] that maximizes f(a[i]).

Idea:
I was a little dizzy when I first saw it. I wrote it violently once. In fact, I was looking for the largest value from a[1] to a[n]. (lll¬ω¬) I’m so pitiful.

#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;
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324686380&siteId=291194637