طراحی الگوریتم


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

میلاد و پارسا که از رسیدن به مرحله‌ی نهایی کدکاپ ۳ جا ماندند، تصمیم به ترک دنیای کدزنی گرفتند اما دنیای کدزنی تصمیم به ترک آن‌ها نگرفت.

متاسفانه آن‌ها در امتحان درس طراحی الگوریتم با سوالی مواجه شدند که قادر به حل آن نیستند. متن سوال به صورت زیر است:

دنباله‌‌ی aa از اعداد طبیعی متشکل از nn عضو در اختیار داریم. در هر مرحله می‌توانیم دو اندیس ii و jj متفاوت انتخاب کرده *(1i,jn1 \le i, j \le n) * و مقدار aia_i را برابر ai and aja_i \ and \ a_j قرار دهیم. کمترین تعداد مراحلی که می‌توانیم همه‌ی اعداد را صفر کنیم چیست؟

نتیجه‌ی عملیات x and yx\ and\ y عددی می‌شود که رقم ii-ام آن در مبنای دو در صورتی برابر با ۱ است که رقم ii-ام xx و yy در مبنای دو برابر با ۱ باشد.

میلاد و پارسا را دیگر بکشیدشان هم دست به کیبورد نمی‌زنند پس شما باید کدی بزنید که با گرفتن دنباله کمترین تعداد مراحل را چاپ کند.

تضمین می‌شود که حتما می‌توانیم همه اعداد دنباله ورودی را بعد از انجام تعدادی مرحله صفر کنیم.

توضیح تصویر

ورودی🔗

در خط اول عدد nn که طول دنباله است داده می‌شود. در خط بعدی nn عدد به شما داده می‌شود که عدد ii-ام همان aia_i است. 1n65 536 1 \le n \le 65\ 536 0ai<65 536 0 \le a_i < 65\ 536

خروجی🔗

یک عدد چاپ کنید که برابر کم‌ترین تعداد مراحلی است که لازم است تا همه‌ی اعداد را صفر کنیم.

مثال🔗

ورودی نمونه ۱🔗

2
6242 50840
Plain text

خروجی نمونه ۱🔗

2
Plain text

ورودی نمونه ۲🔗

3
3 5 6
Plain text

خروجی نمونه ۲🔗

4
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.