A. XOR massiv

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga \(n\) ta elementdan tashkil topgan \(A\) massivi berilgan. Sizning vazifangiz massivni shunday ikkita to'plamga ajratib bo'ladimi yoki yoq tekshirishdan iborat: \(XOR(set1) = XOR(set2)\) bu yerda \(XOR(x)\) bu \(x\) to'plamdagi barcha elementalrning \(\oplus\) (bitwise xor) lariga teng.  

Kiruvchi ma'lumotlar:

Birinchi qatorda \(n(2 \leq n \leq 10^5)\) soni kiritiladi. 
Ikkinchi qatorda \(A(1 \leq a[i] \leq 10^9)\) massivi kiritiladi.

Chiquvchi ma'lumotlar:

Agar massivni aytilgan shart bo'yicha ikkita (bo'sh bo'lmagan) toplamlarga ajratish mumkin bolsa “yes” aks holda “no” so'zini chop eting. (Harflarni katta kichikligining ahamiyati yoq “YeS”, “yEs”, “nO”, “NO” kabi javoblar ham to'g'ri deb hisoblanadi)

Izoh:

Agar birorta to'plamda faqatgina bitta son mavjud bo'lsa \(XOR(\left\{{x}\right\}) \) ning qiymati \(x\) ni o'ziga teng bo'ladi. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4
7 1 3 5
yes
2
3
1 2 3
yes
3
2
3 10
no

B. Teskari son

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Barchamizga ma'lumki berilgan \(x(x>1)\) butun sonni tub sonlar ko'paytmasi ko'rinishida ifodalash mumkin. Ya'ni \(x = p_1^{q_1}*p_2^{q_2}*p_3^{q_3} *\ldots *p_n^{q_n}\) bunda \(p_i\) tub sonni anglatadi, \(q_i\) esa manfiy bolmagan butun son. Yana shunisi ma'lumki \(1\) dan katta bolgan har qanday songa teskari son \((\frac{1}{x})\) o'nli kasr korinishida bo'ladi. Sizga \(n\) ta elementdan tashkil topgan \(p\) va  \(q\) massivlari beriladi. Bunda \(p_i\) soni\(x\) sonini tub ko'paytuvchilarga ajratganda hosil bolgan tub sonlarni, \(q_i\) esa shu tub sonning darajasini anglatadi. Sizning vazigangiz ushbu massivlardan foydalanib \(x\) sonini hosil qilish va unga teskari bolgan sonni verguldan keyingi raqamlari sonini topishdan iborat.

Kiruvchi ma'lumotlar:

Dastlabki qatorda \(n(1 \leq n \leq 10^5)\) soni kiritiladi. 

Ikkinchi qatorda tub sonlardan iborat osish tartibida joylashgan \(p(2\leq p_i \leq 10^9) \) massivi kiritiladi. Bunda har bir tub son faqat 1 marotaba kelishi kafolatlanadi. 

So'ngi qatorda \(q(1 \leq q_i \leq 10^9) \) massivi kiritiladi. 

Chiquvchi ma'lumotlar:

Agar javob cheksiz bolsa \(inf\) so'zini aks holda masala javobini chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
5 7 13
2 1 2
inf
2
2
2 5
1 1
1

C. Azimjon va sonlar o`yini

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Azimjon eng uchiga chiqqan hackerlardan biri. U istalgan saytni buzib kira oladi. U bugun juda zerikkani bois bir saytda o`yin o`ynamoqchi bo`ldi. U saytda Azimjon \(n\) ta odam bilan online o`yin o`ynaydi. O'yin shartlari quidagicha: o'yinda har bir odam \([1;10^{12}]\)oraliqdagi sondan birini tanlaydi. So'ng barcha odam tallagan sonlarni o'rta arifmetigi olinib 0.8 ga ko'paytiriladi. Hosil bo'lgan son kimning soniga yaqin bo'lsa o'sha odam g'olib hisoblanadi. Azimjon bu o'yinda g'olib bo'lishni istaydi. O'yin online bo'lgani sababli u saytni buzib kirib barcha raqiblari tanlagan sonlarni ko'ra oladi. Endi Azimjonga barcha tanlangan sonlar ma'lum bo'lsa u qaysi sonni tanlash orqali o'yinda g'olib bo'lishi mumkinligini aniqlang.

Kiruvchi ma'lumotlar:

Birinchi qatorda \(n(1 \leq n \leq 10^5)\) oyindagi ishtirokchilar soni kiritiladi.
Ikkinchi qatorda \(n\) ta natural sondan tashkil topgan \(a(1\leq a[i]\leq10^{12})\)massivi o`yinchilar tanlagan sonlar kiritiladi.

Chiquvchi ma'lumotlar:

Masala javobini chop eting. Agar javob bir nechta bolsa istalganini chop eting. 

Izoh:

O'yinda ikki yoki undan ortiq odam ham g'olib deb hisoblanishi mumkin. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4
10 25 30 40
24

D. Maksimum qismsatr

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga lotin alifbosining kichik harflaridan tashkil topgan \(S\) satri berilgan. \(S\) satrining qismsatri deb \(S[i : j]\) \((1 \leq i \leq  j \leq |s|)\) ga aytiladi. Bilamizki lotin alifbosi \(26\) ta harfdan tashkil topgan va biz ularni \(1\) dan \(26\) gacha raqamlab olamiz \((a = 1, b = 2, \dots z = 26)\). Sizning vazifangiz shundan qismsatrni topishki, undagi har bir belgi bu qismsatrda faqat bir marotaba kelgan bolsin va ularning summasi iloji boricha maksimum bo'lsin. 

Kiruvchi ma'lumotlar:

Yagona qatorda \(S(1 \leq |S| \leq 5*10^5)\) satri kiritiladi.

Chiquvchi ma'lumotlar:

Masala javobini chop eting, agar bunday javob bir nechta bo'lsa leksikografik eng kichigini chop eting. 

Izoh:

1 - testda:  \(S = "abcabcbb"\) uchun eng katta summaga ega, har bir harf faqat bir marttadan uchragan \(3\) ta qismsatr mavjud: \("abc", "bca", "cab"\) bulardan leksikografik eng kichigi esa \("abc"\) ga teng \((1 + 2 + 3 = 6)\)

 

Python dasturlash tili uchun PyPy dan foydalanishni maslahat beramiz. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
abcabcbb
abc

E. Konfetlar

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Azimjon konfetlarni juda yaxshi ko'radi. Bu safar u Robolandiya konfetlaridan yeb ko'rishga qaror qildi. U shu mamlakatga kelib qarasaki, konfetlar o'zining mamlakatidagidan ko'ra ancha shirinroq ekan. Endi u iloji boricha ko'proq sondagi konfetlarni o'zining mamlakatiga olib ketmoqchi bo'ldi va Roboshop do'koniga tashrif buyurdi. Bu do'konda jami \(N\) xil turdagi konfetlar bo'lib, har bir turdagi konfetlar yo'lakdagi rastalarda bir qatorda joylashtirilgan. Ammo, bu dokonni o'ziga yarasha qonunlari bor: hech qaysi yonma-yon turgan ikki hil turdagi rastadan konfet sotib olish mumkin emas va qaysidur turdagi konfetni olmoqchi bo'lsa, bu turda mavjud barcha konfetlarni sotib olishi shart! \(i-\)rastada  \(a[i]\) ta quti mavjud va har bir quti ichida \(b[i]\) ta konfet bor(bunda barcha \(a[i]\) ta qutidagi konfetlarni olishi kerak). Bu rastadagi barcha konfetlarni olish uchun \(c[i]\) so'm pul to'lash lozim.  Azimjon dokonga kirishidan oldin qarasa unda \(B\) so'm pul bor ekan. Endi u uyiga necha dona konfet olib keta olishini aniqlamoqchi. Siz unga yordam bering.

Kiruvchi ma'lumotlar:

Birinchi qatorda ikkita natural son \(N,B(1 \leq N, B \leq 1000)\) sonlari kiritiladi.
Ikkinchi qatorda \(a(1 \leq a[i] \leq 10^5)\) massivi elementlari kiritiladi.
Uchinchi qatorda \(b(1 \leq b[i] \leq 10^5)\) massivi elementlari kiritiladi.
To'rtinchi qatorda esa \(c(1 \leq c[i] \leq 1000)\) massivi elementlari kiritiladi.

Chiquvchi ma'lumotlar:

Azimjonda bor puldan ko'p pul sarflamay maksimal necha dona konfet sotib olish mumkinligini chop eting.

Izoh:

Python dasturlash tilida ishlaydiganlar uchun python3.12 dan foydalanishni maslahat beramiz

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5 10
3 2 5 10 7
1 2 3 1 4
2 1 4 2 3
46

F. Pul daraxti

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Azimjon kunlardan bir kuni g'alati bir orolga tushib qoldi. Bu oroldagi \(K\) ta daraxt mavjud. Bu daraxtning o'ziga hos hususiyati daraxt aylana shaklida bo'lib, uning har bir tugunida pullar o'sar edi. Ammo, hamma yerda bo'lgani kabi bu yerni ham o'zining aholisi va qiroli bor edi. Shuning uchun Azimjon shunchaki hamma pullarni terib olib keta olmas edi. Yaxshiyamki qirol sahiy va uning mehmonlarga nisbatan hurmati baland ekan. U Azimjonga istalgan faqat bitta daraxtni tanlashni va u ustida bitta o'yin o'ynashni taklif qildi, o'yin qoidalari quyidagicha: dastlab Azimjon o'zi uchun istalgan bir tugunni tanlaydi va undagi pulni oladi. So'ng, qirol ham o'zi uchun bir tugunni tanlab undagi pulni o'z haznasiga qoshib qo'yadi. Ikkala holatda ham tugundagi pullar qiymati \(0\) ga teng bo'lib qoladi. Keyingi har bir qadamda, azimjon oldin pul olgan tugunlar bilan bog'langan biror qiymati \(0\) ga teng bo'lmagan tugunni tanlaydi va undagi pulni oladi. Qirol ham har bir qadamda ilgari pul olgan tugunlar bilan bog'langan istalgan qiymati \(0\) ga teng bo'lmagan tugunni tanlab undagi pulni o'ziga oladi(Ikkala o'yinchi ham navbati kelganda yurish qila olmasa shunchaki navbatini o'tkizib yuboraveradi). Azimjon boshqa pul ololmay qolgan payt o'yinni yakunlaydi. Qirolning xazinasida pul ko'p bo'lgani sababli unga u qancha pul yig'ishi muhim emas, u faqat Azimjon olishi mumkin bo'lgan pulni minimallashtirishni hohlaydi. Albatta Azimjon esa bu daraxtni tanlaganda boshqa daraxtni tanlagandagidan ko'ra ko'proq pul yutishni hohlaydi.  Ikkala o'yinchi ham optimal o'ynasa Azimjon olishi mumkin bo'lgan maksimum pul miqdorini toping.   

Kiruvchi ma'lumotlar:

Dastlabki qatorda \(K(1 \leq K \leq 30)\) daraxtlar soni kiritiladi. 
Keyingi \(K\) ta qatorda dastlab \(N(1 \leq N \leq 10^4)\)soni so'ng yangi qatorda \(N\) ta elementdan tashkil topgan \(A(1 \leq A_i \leq 2000)\) massivi ko'rinishida aylana shaklidagi daraxt kiritiladi. Bunda barcha ketma-ket elementlar bog'langan shu bilan birga,  \(1\) chi va \(N\) chi elementlar ham.  
 

Chiquvchi ma'lumotlar:

Azimjon olishi mumkin bo'lgan maksimal pulning miqdorini toping. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3 
4
5 7 3 9
3
20 52 7
6
5 1 7 9 3 10
59
Kitob yaratilingan sana: 24-Nov-24 14:07