C. Bitli juftliklar
120 ball
Sizga N ta musbat butun sondan iborat a₁, a₂, …, aₙ massiv berilgan.
Agar i < j bo‘lib, quyidagi shart bajarilsa, (i, j) juftlik «yaxshi» deyiladi:
aᵢ AND aⱼ ≥ aᵢ XOR aⱼ
Bu yerda AND — bitli «va» amali (C++, Python va Java tillarida & belgisi), XOR — bitli «yoki inkor» amali (^ belgisi).
Massivdagi yaxshi juftliklar sonini toping.
Kirish ma’lumotlari
Birinchi qatorda bitta butun son N — massiv uzunligi.
Ikkinchi qatorda probel bilan ajratilgan N ta butun son: a₁, a₂, …, aₙ.
Chiqish ma’lumotlari
Bitta butun son — yaxshi juftliklar soni.
Cheklovlar
1 ≤ N ≤ 10^5
1 ≤ aᵢ ≤ 10^9
Misollar
6 2 3 5 6 7 1
4
4 1 2 4 8
0
Tushuntirish
1-misolda yaxshi juftliklar: (2, 3), (5, 6), (5, 7) va (6, 7).
Masalan, 5 AND 6 = 4, 5 XOR 6 = 3, va 4 ≥ 3.
2 va 5 juftligi esa yaxshi emas: 2 AND 5 = 0, 2 XOR 5 = 7.
2-misolda hech bir juftlik yaxshi emas, shuning uchun javob 0.
Diqqat: javob katta bo‘lishi mumkin — 32 bitli butun son turiga sig‘maydi.