日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maximum Subsequence Value CodeForces - 1365E(规律+暴力)

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maximum Subsequence Value CodeForces - 1365E(规律+暴力) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ridhiman challenged Ashish to find the maximum valued subsequence of an array a of size n consisting of positive integers.

The value of a non-empty subsequence of k elements of a is defined as ∑2i over all integers i≥0 such that at least max(1,k?2) elements of the subsequence have the i-th bit set in their binary representation (value x has the i-th bit set in its binary representation if ?x2i?mod2 is equal to 1).

Recall that b is a subsequence of a, if b can be obtained by deleting some(possibly zero) elements from a.

Help Ashish find the maximum value he can get by choosing some subsequence of a.

Input
The first line of the input consists of a single integer n (1≤n≤500) — the size of a.

The next line consists of n space-separated integers — the elements of the array (1≤ai≤1018).

Output
Print a single integer — the maximum value Ashish can get by choosing some subsequence of a.

Examples
Input
3
2 1 3
Output
3
Input
3
3 1 4
Output
7
Input
1
1
Output
1
Input
4
7 7 1 1
Output
7
Note
For the first test case, Ashish can pick the subsequence {2,3} of size 2. The binary representation of 2 is 10 and that of 3 is 11. Since max(k?2,1) is equal to 1, the value of the subsequence is 20+21 (both 2 and 3 have 1-st bit set in their binary representation and 3 has 0-th bit set in its binary representation). Note that he could also pick the subsequence {3} or {2,1,3}.

For the second test case, Ashish can pick the subsequence {3,4} with value 7.

For the third test case, Ashish can pick the subsequence {1} with value 1.

For the fourth test case, Ashish can pick the subsequence {7,7} with value 7.

思路:對于n<3的數組來說,我們可以直接暴力求出來。
對于n>=3的數組,我們選擇k==3的時候,一定是最優的。因為max(3-2,1)==1.如果原來選擇的3個數,第i位有1個1,但是呢,加進來的這個數字,第i個不為0,這樣的話,加進來的這個數,不僅沒有貢獻,還會拉低價值。比4更高的也是一樣。
代碼如下:

#include<bits/stdc++.h> #define ll long long using namespace std;const int maxx=5e2+10; ll a[maxx]; int num[maxx]; int n;int main() {scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%lld",&a[i]);ll ans=0;for(int i=1;i<=n;i++){ans=max(ans,a[i]);for(int j=i+1;j<=n;j++){ans=max(ans,a[i]|a[j]);for(int k=j+1;k<=n;k++) ans=max(ans,a[i]|a[j]|a[k]);}}cout<<ans<<endl;return 0; }

努力加油a啊,(o)/~

總結

以上是生活随笔為你收集整理的Maximum Subsequence Value CodeForces - 1365E(规律+暴力)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。