Даниярдың xor жұптары
Информатика мұғалімі Данияр \(A\) массивін қарайды, оның ұзындығы \(2^n\), яғни элементтері \(a_0, a_1, \dots, a_{2^n-1}\) берілген. Оған биттік виключающее ИЛИ (xor) операциясы ұнайды, сондықтан ол келесі шартты қанағаттандыратын барлық индекс жұптарын \((i, j)\) зерттейді: \[i \oplus j = k,\] мұнда \(k\) — берілген сан, ал \(\oplus\) — xor операциясы.
Барлық осындай жұптар ішінен Данияр \(a_i + a_j\) қосындысының мүмкін болатын ең үлкен мәнін тапқысы келеді.
Енгізу
Бірінші жолда екі бүтін сан \(n\) және \(k\) берілген (\(1 \le n \le 18\), \(1 \le k < 2^n\)). Екінші жолда \(2^n\) бүтін сан \(a_0, a_1, \dots, a_{2^n-1}\) берілген (\(0 \le a_i \le 10^9\)).
Шығару
Бір бүтін санды шығарыңыз — \(i \oplus j = k\) шарты орындалатын барлық \((i, j)\) жұптары бойынша \(a_i + a_j\) қосындысының ең үлкен мүмкін мәні.
Бағалау жүйесі
| Топ | Қосымша шектеулер | Ұпай | Қажетті топтар |
|---|---|---|---|
| 1 | \(n \le 9\) | 40 | — |
| 2 | Толық шектеулер | 60 | 1 |
Мысалдар
Енгізу 1
2 1
1 5 3 4
Жауап 1
7