hihoCoder 1496 尋找最大值

2021-07-29 22:53:21 字數 590 閱讀 8933

時間限制:10000ms

單點時限:1000ms

記憶體限制:256mb

描述 給定n個數a1, a2, a3, … an,小ho想從中找到兩個數ai和aj(i ≠ j)使得乘積ai × aj × (ai and aj)最大。其中and是按位與操作。

小ho當然知道怎麼做。現在他想把這個問題交給你。

輸入 第一行乙個數t,表示資料組數。(1 <= t <= 10)

對於每一組資料:

第一行乙個整數n(1<=n<=100,000)

第二行n個整數a1, a2, a3, … an (0 <= ai <220)

輸出 乙個數表示答案

樣例輸入

2 3

1 2 3

4 1 2 4 5

樣例輸出

12 80

#include 

using

namespace

std;

long

long a[100000];

int main()

cout

<}

}

hihocoder 1496 尋找最大值

我是真心沒想到,暴力也能過 說好的數學題一般都是有什麼小技巧的麼?到這裡怎麼成了暴力!都是套路啊啊啊啊啊啊!時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 給定n個數a1,a2,a3,an,小ho想從中找到兩個數ai和aj i j 使得乘積ai aj ai and aj 最...

hihocoder1496(高維字首和)

題意 給定n個數a1,a2,a3,an,小ho想從中找到兩個數ai和aj i j 使得乘積ai aj ai and aj 最大。其中and是按位與操作。第一行乙個整數n 1 n 100,000 第二行n個整數a1,a2,a3,an 0 ai 2 20 分析 嘗試列舉and值z,那麼問題就變成了找尋最...

尋找最大子樹

問題描述 給乙個二叉樹,每個節點都是正或負整數,如何找到乙個子樹,它所有節點的和最大?思路 採用自底向上的計算。先計算左右子樹總和值,用左右子樹的總和加上當前節點值,如果當前總和大於最大值,則更新最大值,同時將最大子樹根節點更新為當前根。簡單說,就是後序遍歷。include include usin...