Masala #1207

Xotira 32 MB Vaqt 1000 ms Qiyinchiligi 15 %
14

  

Guruhlash

Sizda har birida \(2^i\) tadan odam bo'lgan \(A_i\) ta guruh bor. \((0 \le i \le N)\) (To'liqroq tushunish uchun izohga qarang).

Siz odamlarni bir nechta xonalarga joylashtirishingiz zarur. Bu uchun quyidagi shartlar bajarilishi kerak:

  • Har bir xonada \(2^N\) tadan odam bo'lishi kerak.
  • Bir guruhdagi odamlar bitta xonada bo'lishi kerak.

Nechta xona kerakligini yoki bu ish imkonsizligini aniqlang.


Kiruvchi ma'lumotlar:

Birinchi qatorda \(N(0 \le N \le 30)\) soni kiritiladi.

Keyingi qatorda N+1 ta butun son - A massiv elementlari kiritiladi. \((0 \le A_i \le 10^9)\)


Chiquvchi ma'lumotlar:

Kerakli xonalar sonini chop eting. Agar xonalarga joylashtirishning iloji bo'lmasa -1 ni chop eting.


Misollar
# input.txt output.txt
1
3
4 2 0 2
3
2
1
3 0
-1
Izoh:

1-test: a, b, c, d harflarini 1, 2, 4 va 8 kishilik guruhlar deb tasavvur qilamiz. Quyidagicha joylashtirish mumkin: {a,a,a,a,b,b}, {d}, va {d}.

2-test uchun xonalarga joylash imkonsiz.

Yechimini yuborish
Bu amalni bajarish uchun tizimga kiring, agar profilingiz bo'lmasa istalgan payt ro'yxatdan o'tishingiz mumkin