A. O’chirish
Xotira: 16 MB, Vaqt: 1000 msSizga \(N\) ta har xil natural sonlardan tashkil topgan \(A\) to’plam berilgan. Siz to’plamda yagona son qolgunga qadar quyidagi amallardan birini qilishingiz kerak:
- To’plamdan \(\text{birlarSoni}(Ai⊕Aj)=1\) shartni qanoatlantiradigan ikkita sonni tanlab ulardan ixtiyoriy birini(yoki \(Ai\), yoki \(A_j\)) ni to’plamdan o’chirishingiz mumkin. Buning uchun \(E_1\) energiya sarflaysiz.
- To’plamdan \(\text{birlarSoni}(Ai⊕Aj)>1\) shartni qanoatlantiradigan ikkita sonni tanlab ulardan ixtiyoriy birini(yoki \(A_i\), yoki \(A_j\)) ni to’plamdan o’chirishingiz mumkin. Buning uchun \(E_2\) energiya sarflaysiz.
Bu yerda \(⊕\) bitwise XOR amali, \(\text{birlarSoni}(X)\) esa \(X\) sonining ikkilik sanoq tizimida yozilishidagi birlar sonini qaytaradi.
Siz to’plamda yagona son qolgunga qadar bu amallarni bajarish uchun eng kamida qancha energiya sarflanishini aniqlang
Kirish faylining dastlabki satrida bitta butun son, \(T (1 \le T \le 20)\) testlar soni kiritiladi. Keyingi satrdan boshlab har bir testning 1-satrida bitta butun son, \(N (1 \le N \le 10000)\) \(A\) to’plam elementlari soni, 2-satrida ikkita butun son, \(E_1\) hamda \(E_2 (1 \le E_1, E_2 \le 10^9)\) sonlari kiritiladi, 3-satrda N ta butun son, \(A (1 \le A_i \le 10^9)\) to’plam elementlari kiritiladi.
Chiqish faylida har bir test uchun alohida qatorda \(A\) to’plamda yagona son qolgunga qadar o’chirish amallarini bajarish uchun eng kamida qancha energiya sarflanishini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 4 50 100 1 2 3 4 |
200 |
B. Tub ko'paytuvchilar tarkibi
Xotira: 16 MB, Vaqt: 1000 msSizga \(N = P_1^{A_1} * P_2^{A_2} * \dots * P_x^{A_x}\) soni berilgan. Bu yerda \(P\) tub sonlardan tashkil topgan massiv (hech bir elementi takrorlanmaydi), \(A\) natural sonlardan tashkil topgan massiv. Sizning vazifangiz tub ko’paytuvchilari tarkibiga \(N\) sonining tub ko’paytuvchilari tarkibidagi barcha tub sonlar qatnashgan hamda \(N\) sonining bo’luvchisi bo’la oladigan natural sonlar yig’indisini chop eting.
Kirish faylining dastlabki satrida bitta butun son, \(T (1 \le T \le 10)\) testlar soni kiritiladi.
Keyingi qatordan boshlab har bir test uchun birinchi qatorda \(X (1 \le X \le 100000)\) \(N\) sonining tub ko’paytuvchilari tarkibida nechta tub son ishtirok etgani kiritiladi. Ikkinchi satrda bo’sh joy bilan ajratilgan holda \(N\) ta natural son, \(P (0 < P_i < 10^6)\) tub sonlar ro’yxati kiritiladi. Uchinchi satrda bo’sh joy bilan ajratilgan holda \(N\) ta natural son, \(A (1 \le A_i \le 10^9)\) massiv elementlari kiritiladi.
Chiqish faylida har bir test uchun alohida satrda masala javobini \(10^9+7\) ga bo’lgandagi qoldiqni chop eting
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 3 2 3 5 2 1 1 |
90 |
C. CTRL+P
Xotira: 16 MB, Vaqt: 1000 msAgar siz kompyuter sohasida bilimga ega bo’lsangiz demak siz printer degan qurilmani ham juda yaxshi bilasiz. Sizga ma’lumki biror bir hujjatni printerdan chop etish uchun shunchaki chop etish tugmasini bosish kifoya. Ba’zi hollarda printerdan hujjatning qaysidir sahifalarinigina chiqarish ham mumkin, buning uchun siz chop etish jarayonida aynan qaysi sahifalarni chop etish kerakligini aytib o’tishingiz kerak. Misol uchun siz hujjatning beshinchi, o’ninchi, va o’n to’qqizinchi sahifalarini chop etmoqchi bo’lsangiz chop etish jarayonida hujjatning sahifalar raqamlarini vergul bilan ajratgan holda kiritishingiz kerak, ya’ni 5,10,19. Bundan tashqari chop etish jarayonida hujjatning qaysidir oralig’idagi barcha sahifalarni ham chop etish mumkin, buning uchun ‘-‘ (chiziqcha) qo’yib, chiziqchaning chap tomoniga qaysi sahifadan boshlab (Agar qo’yilmasa avtomatik tarzda hujjat boshidan deb hisoblaydi), chiziqchaning o’ng tomoniga qaysi sahifagacha ekanligi(agar qo’yilmasa hujjat oxirigacha ekanligini bildiradi) yoziladi. Misol uchun sizga 25-sahifadan 35-sahifagacha barcha sahifalarni chop etmoqchi bo’lsangiz 25-35 deb yozish yetarli hisoblanadi.
Siz hozirgi vaqtda algoritm va dasturlash musobaqalariga tayyorgarlik ko’ryapsiz, shu sababli sizga 2624 varoqli http://e-maxx.ru/bookz/files/tucker.pdf kitobning ba’zi sahifalari kerak bo’lib qoldi. Siz kitobni printerdan chop etmoqchi bo’ldingiz hamda sahifalarni tanlash qismiga S satrni yozdingiz.
Yozilgan S satr bo’yicha sahifalarni chop etish uchun printerga nechta oq list qo’yilishi kerakligini aniqlang.
Kirish faylining yagona satrida uzunligi 1000 dan oshmaydigan S satr kiritiladi.
Chiqish faylida yagona butun son, printerga nechta qog’oz kerak bo’lishini chop eting
Eslatma: S satrda berilishi bo’yicha siz qaysidir sahifalarni qayta-qayta chop etgan bo’lishingiz ham mumkin.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1-3,5,7,10-13 |
9 |
D. Davlat shifri
Xotira: 16 MB, Vaqt: 1000 msSizga biror bir davlatning alpha-2 shifri berilgan. Siz aynan shu davlatning alpha-3 shifrini chop eting. Davlatlarning alpha-2 va alpha-3 shifrlarini https://www.iban.com/country-codes sahifadan bilib olishingiz mumkin!
Kirish faylining dastlabki satrida bitta butun son, \(T(1 \le T \le 10)\) testlar soni kiritiladi.
Keyingi \(T\) ta satrda alpha-2 shifr kiritiladi.
Chiqish faylida har bir test uchun alohida satrda kirish faylida berilgan alpha-2 shifrga mos alpha-3 shifrni chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 UZ SO VN |
UZB SOM VNM |
E. Prefiks funksiya
Xotira: 16 MB, Vaqt: 2500 msDasturlash musobaqasi bilan shug’ullanib yurgan barchaga Prefiks funksiya nima ekanligi ma’lum bo’lsa kerak. Agar bilmasangiz Prefiks funksiya haqida https://e-maxx.ru/algo/prefix_function havoladan o’rganib olishingiz mumkin.
Keling endi asosiy masalaga o’tamiz!
\(S\) to’plam \(m\) ta harfli alifbodan tuzilgan uzunligi \(n\) ga teng bo’lgan barcha satrlar to’plami.
\(F(s)\) funksiyasi \(\text{prefix\_function}(s)\) dan olingan to’plamning eng katta qiymati bo’lsin.
Sizning vazifangiz \(\sum_{s∈S}F(s)\) ni \(X\) ga bo’lgandagi qoldiqni hisoblashdan iborat.
Kirish faylining yagona satrida uchta butun son, \(n (1 \le n \le 22)\), \(m (1 \le m \le 10^9)\) va \(X (1 \le X \le 10^9)\) sonlari kiritiladi.
Chiqish faylida yagona butun son, \(\sum_{s∈S}F(s)\) ni \(X\) ga bo’lgandagi qoldiqni chop eting!
- F(aaa) = 2
- F(aab) = 1
- F(aba) = 1
- F(abb) = 0
- F(baa) = 0
- F(bab) = 1
- F(bba) = 1
- F(bbb) = 2
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 2 1000 |
8 |
F. Tartib
Xotira: 16 MB, Vaqt: 1000 msSizga \(A, B, C\) sonlari aralash tartibda berilgan. Sonlar aralash tartibda berilgani bilan sizga ma’lumkin \(A < B < C\) shart o’rinli. Shu uchchala sonni ko’rsatilgan tartibda chop eting:
Kirish faylining dastlabki satrida uchta butun son, \(A, B, C (1 \le A, B, C \le 100)\) ning qiymatlari aralash tartibda beriladi. Keyingi satrda esa berilgan sonlarni qaysi tartibda chop etish kerakligi ko’rsatiladi.
Chiqish faylida yagona satrda kirish ma’lumotlariga mos holda natijani chop eting
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 5 3 ABC |
1 3 5 |
G. O’nuchboy
Xotira: 16 MB, Vaqt: 1000 msTadqiqotchilarning hisob-kitoblariga ko’ra AQSH aholisining 10 foizi 13 sonidan qo’rqishadi, va har yilning 13-jumasini paraskevidekatriaphobia deb nomlashadi. Bu kun ular uchun 13 sonidanda qo’rqinchliroq hisoblanadi.
O’zimizning O’nuchboy ismli yigit yaqinda GreenCard da qatnashib Amerikaga yo’llanmani qo’lga kiritgan edi va u hozir Amerikada. O’nuchboy ismining ma’nosi sababli haligacha ish topolmayapti, chunki u hozirda ish izlab borgan joylarining barchasi ismining ma’nosini aytganidan so’ng ishga qabul qilmasliklarini aytishyabdi.
O’nuchboy ma’lumotlar bazasi bilan ishlaydigan firmalardan biriga ish izlab borganida ham xuddi shu holat takrorlandi. O’nuchboy buning sababini so’raganida ish beruvchi 13 raqamidan qo’rqishini aytdi. Shunda O’nuchboy ish beruvchiga 13 raqamidan qo’rqmaslik uchun shunchaki 13 sonini hech qayerda ishlatmaslikni taklif qildi. Bu taklifdan so’ng ish beruvchi O’nuchboyga «Taklifing zo’r. Hozirda meni ma’lumotlar bazamda id raqami 0 dan \(10^N-1\) gacha bo’lgan ma’lumotlar mavjud, shularni ichidan id raqami yozilishida 13 raqami mavjud bo’lgan barcha ma’lumotlarni o’chirsam bazamda jami nechta ma’lumot qolishini hisoblab bera olsang ishga qabul qilaman» deb vada berdi.
O’nuchboy matematikani yaxshi bilmaydi, ammo unga ish juda zarur, ishga kirishi uchun unga sizning yordamingiz kerak. O’nuchboyning ishga kirishida yordam bering.
Kirish faylining dastlabki satrida bitta butun son, \(T (1 \le T \le 10000)\) testlar soni kiritiladi. Keyingi \(T\) ta qatorda bittadan butun son, \(N (0 \le N \le 10^9+9)\) soni kiritiladi.
Chiqish faylida har bir test uchun alohida qatorda O’nuchboy topishi kerak bo’lgan sonni \(10^9+9\) ga bo’lgandagi qoldiqni chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 2 1 |
99 10 |
H. Hemming masofasi
Xotira: 16 MB, Vaqt: 1000 msUzunligi \(N\) ga teng bo’lgan \(A\) va \(B\) massivlarning Hemming masofasi deb \(H(A, B) = \sum_{i=1}^{n} f(A,B,i)\) yig’indiga aytiladi. Bu yerda \(f(A,B,i)= \begin{cases} 1 \text{, } A_i \ne B_i \\ 0 \text{, } A_i = B_i \end{cases}\)
Sizda \(N\) ta elementdan iborat \(F (F_i = i)\) to’plamning barcha anagrammalarini leksikografik o’sish tartibida joylashtirilgan jami \(N!\) ta ketma-ketlikdan iborat \(P\) to’plam bor. Siz \(\sum_{i=2}^{N!}H(P_i, P_{i-1})\) yig’indining \(10^9+7\) ga bo’lgandagi qoldiqni hisoblang!
Kirish faylining yagona satrida bitta butun son, \(N(1 \le N \le 50000)\) soni kiritiladi.
Chiqish faylining yagona satrida bitta butun son, masala javobini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 |
12 |
I. Satrni o’zgartirish
Xotira: 16 MB, Vaqt: 1000 msAli va Vali bir – biriga ajoyib boshqotirmalar berib savol-javob qilib turishni juda yaxshi ko’rishadi. Kunlardan bir kun Ali S satrni o’yladi va Valiga o’zi o’ylagan sonni topishni boshqotirma qilib berdi. Vali S satrni topa olishi uchun Ali o’ylagan satrini N marotaba quyidagi shakldaqa o’zgartirganidan so’ng P satr hosil bo’lganligini aytdi: Masalan agarda Ali contest so’zini o’ylagan bo’lsa bir marotaba o’zgartirgandan so’ng u ctosnet ga o’zgaradi. Agar uzbekistan so’zini o’ylagan bo’lsa bir marotaba o’zgartirgandan so’ng unzabteski ga o’zgaradi.
Kirish faylining dastlabki satrida bitta butun son, \(N (1 \le N \le 10^9)\) soni, ya’ni Ali o’zi o’ylagan sonni necha marotaba o’zgartirganligi kiritiladi. ikkinchi satrda lotin alifbosining kichik harflaridan iborat \(P (3 \le |P| \le 1000)\) satri kiritiladi.
Chiqish faylining yagona satrida Ali o’ylagan S satrni chop eting!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 rotnocstboe |
robocontest |