A. O'yinchoqlar guruhi
Xotira: 64 MB, Vaqt: 1000 msSizda 2 ta guruhdan tashkil topgan o'yinchoqlaringiz bor. Siz ularni qaysi biri kuchli ekanini bilish uchun o'ziga xos reja tuzdingiz. Bunda birinchi jamoaning eng kuchli o'yinchisi raqib jamoaning eng kuchli o'yinchisi bilan bellashadi, ikkinchi eng kuchli o'yinchi esa raqib jamoaning ikkinchi eng kuchli o'yinchisi bilan, va hokazo. Siz birinchi guruhning nechta o'yinchisi bellashuvda yutib chiqishini bilmoqchisiz. (O'yinchi bellashuvda yutib chiqishi uchun raqibidan qat'iy kuchli bo'lishi kerak)
1-qatorda 5 ta natural son. Birinchi jamoa o'yinchilarining kuchlari beriladi.
2-qatorda 5 ta natural son. Ikkinchi jamoa o'yinchilarining kuchlari beriladi.
Kiritiladigan sonlar oralig'ida bo'lishi kafolatlangan.
Yagona qatorda bitta butun son, masala javobini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 7 1 5 9 9 8 8 10 3 |
0 |
2 |
7 10 9 8 5 10 1 8 4 3 |
4 |
B. Olimpiya o'yinlari
Xotira: 64 MB, Vaqt: 1000 msSiz qadimgi Olimpiya o'yinlariga tashrif buyurdingiz. Olimpiya o'yinlarida turli xil o'yinlar (musobaqalar) o'tkaziladi. Ammo nechta o'yin bo'lishini bilmaysiz. Hamma g'olib nomi bilan qiziqsa, siz esa aksincha har bir o'yinda eng kam ball yig'gan o'yinchilarni aniqlamoqchisiz.
Shunday qilib Olimpiyada bo'layotgan har bir o'yindagi eng kam ball yig'gan o'yinchining balini topishingiz kerak.
Har bir o'yin n natural soni - joriy o'yinda ishtirok etayotgan o'yinchilar soni bilan boshlanadi .
Keyingi qatorda n ta natural son, ushbu o'yinda qatnashgan o'yinchilarning ballari kiritiladi.
Qachonki biror o'yinda bitta ham o'yinchi qatnashmasa Olimpiya o'yinlari o'z nihoyasiga yetadi.
Qo'shimcha ravishda barcha o'yinlardagi n larning yig'indisi dan oshmaydi.
Har bir o'tkazilgan o'yin uchun eng kam ball yig'gan o'yinchi balini chop eting.
Hech kim ishtirok etmagan o'yin o'tkazilmagan deb hisoblanadi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 4 4 4 7 10 2 0 |
4 2 |
2 |
10 1 9 6 6 5 3 1 9 1 4 7 3 8 9 8 4 7 5 0 |
1 3 |
C. Test
Xotira: 64 MB, Vaqt: 1000 msSiz va do‘stingiz tezkor savol-javob (Ha/Yo'q) testini topshirgansiz. Dos'tingiz nechta savolga to'g'ri javob berganini biladi, lekin qaysi savollar to‘g‘ri ekanini bilmaydi. Siz o‘z javoblaringizni va do‘stingizning javoblarini solishtirasiz. Sizning maqsadingiz — siz maksimal ravishda nechta savolga to‘g‘ri javob bergan bo‘lishingiz mumkinligini aniqlash.
Har bir test ishi quyidagilardan iborat bo‘ladi:
- n — do‘stingiz to‘g‘ri javob bergan savollar soni
- s — ikki qatorli satr. Birinchi qatorda sizning javoblaringiz (H yoki Y), ikkinchi qatorda esa do‘stingizning javoblari (H yoki Y). Ikkala satr uzunligi bir xil va uzunlik oraliqda bo‘ladi.
Siz maksimal nechta savolga to‘g‘ri javob bergan bo‘lishingiz mumkinligini aniqlab, bitta butun son chiqaring.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 YHYYY HYHHH |
2 |
2 |
6 HHYHYYHYHY HHHHYYHHHH |
9 |
D. Spiral
Xotira: 128 MB, Vaqt: 2000 ms

Humoyun ko‘plab multfilmlarda ko‘rganidek spiral shakli insonni o‘ziga jalb qilib, hatto gipnoz qilib qo‘yishi ham mumkin deb o‘ylaydi. Shu sababli u o‘zi tomonidan berilgan masala eng ko‘p ishtirokchiga yoqishini xoxlagani uchun masalaga aynan spiral deb nom qo’yishni joiz deb topdi, hatto masalaning o’zi ham spiralga aloqador. Ya’ni u quyidagicha:

Humoyun o’lchami jadval oldi va uning ichini natural sonlar ketma-ketligini spiralsimon shaklda joylashtirish orqali to’ldirib chiqdi.
Sizning vazifangiz Humoyun tuzgan jadvaldan A va B sonlari orasidagi masofani aniqlashdan iborat.
Ikki sonning orasidagi masofa ularning jadvaldagi joylashuv koordinatalari Manhattan masofasi(farqlarining yig’indisi)ga teng.
Birinchi qatorda bitta butun son, , testlar soni kiritiladi.
Keyingi ta qatorning har birida ikkitadan butun son, va sonlari kiritiladi.
Har bir test uchun alohida qatorda va sonlari orasidagi masofani chop eting!.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 12 2 26 6 |
2 6 |
E. Statistika - 1
Xotira: 32 MB, Vaqt: 1000 msSizga uzunlikdagi massivi berilgan. Har bir element nuqtani ifodalaydi. Siz ikkita turdagi so'rovlarni bajarishingiz kerak:
1. : Bu so'rovda qiymatini ga o'zgartirish kerak bo'ladi.
2. : Bu turdagi so'rovda massivning oralig'idagi nuqtalarning populyatsiya standart chetlanishini hisoblash kerak bo'ladi.
Populyatsiya standart chetlanishi quyidagi formula bilan hisoblanadi:

Bu yerda:
- , ya'ni larning o'rta arifmetik qiymati.
- — oraligdagi nuqtalar soni.
Birinchi qatorda ikkita butun son va berilgan, bunda:
- — massiv uzunligi.
- — so'rovlar soni.
Ikkinchi qatorda ta butun son berilgan, massiv elementlarini ifodalaydi.
Keyingi qatorda so'rovlar berilgan:
- Yangilash So'rovi uchun qatorda berilgan, bunda:
- — yangilanadigan element indeksi (indekslash 1 dan boshlangan deb hisoblanadi).
- — ning yangi qiymati.
- Oraliq So'rovi uchun qatorda berilgan, bunda:
- va — oralig'ining indekslari (indekslash 1 dan boshlangan deb hisoblanadi).
Qiymat chegaralari:
-
-
-
Har bir oraliq so'rovi uchun oralig'idagi nuqtalarning populyatsiya standart chetlanishini chiqaring. Natijani 6 kasr belgigacha yaxlitlab chiqaring.
formuladagi massiv uzunligi emas!. Formuladagi nima ekanligi formulani pastida yozilgan!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 3 1 2 3 4 5 2 1 5 1 3 10 2 1 5 |
1.41421356 3.13687743 |
2 |
3 2 -1 0 1 2 1 3 1 2 5 |
0.81649658 |
F. Bilmasvoy
Xotira: 64 MB, Vaqt: 1000 msBilmasvoy o'xshash sonlarga qiziqadi. U a va b sonlarini o'xshash deb hisoblaydi, agar ushbu sonlarning aynan bitta raqami faqat 1 ga farq qilsa.
Masalan 1903 soni 1803, 1913, 1902, 1904 va 2903 sonlari bilan o'xshash.
Bilmasvoy sizga bitta son beradi. Siz shu songa o'xshash sonlar nechta ekanini topishingiz kerak.
Yagona qatorda n natural soni.
Masala javobini chop eting
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1903 |
5 |
G. ICPC
Xotira: 128 MB, Vaqt: 2000 msSunnat TATUda talabalarni ICPCga tayyorlash uchun mas'ul shaxs. Unda ICPC uchun tayyorlangan n ta talaba bor. Har bir talabaning o'ziga xos kuchi bor - . U talabalarni uch kishilik jamoalarga bo'lishi kerak.
Uch kishidan iborat jamoaning kuchi ularning kuchlari orasidagi median (o‘rtadagi qiymat) bo‘ladi, ya’ni ularning kuchlarini saralab o‘rtadagi qiymat olinadi.
Sunnatga yordam bering! U talabalarni k ta uch kishilik jamoaga ajratishi kerak, shunday qilib umumiy kuch maksimal bo‘lsin.
Umumiy kuch — barcha k jamoaning kuchlari yig‘indisiga teng.
- 1-qator: Talabalar soni — n , bu son 3 ga karrali bo‘ladi.
- 2-qator: n ta talabaning kuchlari — .
Yagona qator: TATU jamoalarining maksimal umumiy kuchi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 1 2 3 |
2 |
2 |
6 5 6 2 3 1 4 |
8 |
H. Chegirma
Xotira: 64 MB, Vaqt: 1000 msGolden Valley Clothing Warehouse o‘zining ko‘p miqdordagi qishki mahsulotlarini tezda sotish niyatida, chunki yaqin orada bahor va yozgi kiyim-kechaklar keladi. Menejer sotuvni boshqarish uchun juda murakkab chegirma tizimini o‘ylab topdi va siz endi shu tizimni amalga oshirishingiz kerak.
Mana menejer belgilagan qoidalar:
Mahsulotlarga rangli dumaloq stikerlar yopishtiriladi — bular "stiker" deb ataladi, masalan, qizil stiker, sariq stiker va hokazo. Har bir rang ma’lum bir foiz chegirmaga mos keladi.
Rangli Dot | Chegirma % |
---|---|
Qizil (Red) | 45% |
Yashil (Green) | 30% |
Ko‘k (Blue) | 20% |
Sariq (Yellow) | 15% |
To‘q sariq (Orange) | 10% |
Oq (White) | 5% |
Bunga qo‘shimcha ravishda, menejer maxsus chegirma kuponlari tarqatdi! Har qanday xaridor ushbu kuponni taqdim etsa, "stiker" chegirmalari hisoblab chiqilgandan keyin yana qo‘shimcha 5% chegirma oladi.
Siz har bir mahsulot uchun yakuniy chegirma narxini hisoblab chiqishingiz kerak.
- Dastur savdo terminalida ishlashi kerak va narxlar eng yaqin sentga (0.5 yuqoriga) yaxlitlanadi.
- Agar sentning oxiri [0.0, 0.5) orasida bo'lsa, pastga — 0 ga yaxlitlanadi.
- Agar sentning oxirgi [0.5, 1.0) orasida bo‘lsa, yuqoriga — keyingi sentga yaxlitlanadi.
- Agar xaridor naqd pul to‘layotgan bo‘lsa, narx eng yaqin 10 sentga yaxlitlanadi.
- Agar sentning oxirgi raqami 0 dan 5 gacha bo‘lsa, pastga — 0 ga yaxlitlanadi.
- Agar sentning oxirgi raqami 5 dan 10 gacha bo‘lsa, yuqoriga — keyingi 10 sentga yaxlitlanadi.
Tizim hamma bu qoidalarga amal qilib, to‘g‘ri narxlarni chiqara olishi kerak.
Birinchi qatorda N — qayta ishlanishi kerak bo‘lgan xaridlar soni beriladi (0 < N ≤ 100). Keyingi N ta qatorning har biri bitta xaridni ifodalaydi.
Har bir qator quyidagi formatda bo‘ladi, elementlar bo‘sh joy bilan ajratiladi:
<asosiy narx> <stiker> <kupon> <to'lov>
- <asosiy narx> — chegirma berilishidan oldingi mahsulot narxi. Bu ikkita o‘nlik kasr joyiga ega o‘nli son bo‘ladi.
- <stiker> — dotning rangi, katta harfda yoziladi va rangning birinchi harfi bo‘ladi:
- R — Qizil (Red)
- G — Yashil (Green)
- B — Ko‘k (Blue)
- Y — Sariq (Yellow)
- O — To‘q sariq (Orange)
- W — Oq (White)
- <kupon> — xaridor chegirma kuponi ko‘rsatganini bildiradi:
- C — kupon bor (5% qo‘shimcha chegirma)
- X — kupon yo‘q
- <to'lov> — to‘lov turi:
- C — naqd pul
- P — plastik karta (yoki boshqa naqd pulsiz to'lov)
Har bir xarid uchun chiqishda bitta qator bo‘lishi kerak, unda chegirmadan keyingi narx ko‘rsatiladi. U quyidagi formatda bo‘lishi kerak:
$d.cc
ya’ni sent qismi nuqtadan keyin 2 xonada chiqishi shart!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
9 67.34 O X P 78.58 O C C 45.81 Y X C 95.42 Y C C 4.02 Y C P 21.16 B X C 26.71 R X P 67.99 G C C 11.22 Y X P |
$60.61 $67.20 $38.90 $77.10 $3.25 $16.90 $14.69 $45.20 $9.54 |
I. Yandex Internship
Xotira: 128 MB, Vaqt: 1000 msDavlatbek yaqinda Yandex kompaniyasida amaliyotchi (intern) sifatida ish boshladi va unga dasturdagi kichik xatoliklarni (bug) tuzatish vazifasi yuklatildi.
Keyingi kun davomida, -kuni ta bug paydo bo‘ladi. Davlatbek esa har kuni maksimal ta bugni tuzatishi yoki anime tomosha qilishi mumkin. Agar u barcha xatolarni shu kunning o'zida bartaraf etmasa, ular keyingi kunga o'tadi. Davlatbek anime ko‘rishni yoqtirgani sababli, imkon qadar ko‘proq kunini unga ajratishga harakat qiladi.
Biroq, mentor uning o‘z ustida ko‘proq ishlashini xohlaydi va kun davomida Davlatbekni tekshiradi. Har bir uchun -kuni mentor ish tugaganidan so‘ng keladi va dasturda hech qanday bug yo'q ekanini tekshiradi.
Davlatbek barcha zarur ma’lumotlarni sizga taqdim etdi. Endi siz uning ko'pi bilan necha kun anime ko‘rishi mumkinligini aniqlashingiz lozim.
Kirish faylining 1-satrida ikkita butun son va – umumiy kunlar soni va mentor tekshiradigan kunlar soni beriladi.
2-satrda ta butun son – har kuni paydo bo‘ladigan buglar soni keltiriladi.
3-satrda ta butun son – Davlatbek -kuni maksimal qancha bug tuzata olishi mumkinligi beriladi.
4-satrda ta butun son – mentor keladigan kunlar tartiblangan holda beriladi uchun . Mentor kelgan vaqtda barcha bug larni tuzatish mumkinligi kafolatlanadi.
Chiqish faylida Davlatbek maksimal necha kun anime ko‘rishi mumkinligini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 3 2 2 5 4 3 1 3 8 6 3 3 4 5 |
1 |
2 |
5 1 1 2 3 4 5 2 4 6 8 10 5 |
3 |
J. Statistika - 2
Xotira: 32 MB, Vaqt: 1000 msSizga uzunligi bo'lgan ikki va ikkita massivlari beriladi. har bir ( ) juftlik 2D fazodagi nuqtani ifodalaydi. Siz ikkita turdagi jami ta so'rovlarni bajarishingiz kerak:
- turidagi so'rov. Bu so'rov uchun juftligi qiymatini ga o'zgartiring.
- turdagi so'rov. Bu so'rov uchun oralig'idagi nuqtalarning nuqtalar o'zaro qanday bog'langanligini - korrelyatsiya koeffitsientini hisoblang.
Korrelyatsiya koeffitsienti quyidagi formula bilan hisoblanadi:
- oraliqdagi barcha qiymatlarning o'rta arifmetik qiymati bo'lsin.
- oraliqdagi barcha qiymatlarning o'rta arifmetik qiymati bo'lsin.
Unda korrelyatsiya koeffitsienti quyidagi formula orqali hisoblanadi:

Agar maxraj hamda surat nolga teng bo'lsa, korrelyatsiya koeffitsienti aniqlanmagan hisoblanadi. Bu holatda “undefined” deb chiqaring.
Agar surat musbat va maxraj nolga teng bo'lsa “inf” deb chiqaring.
Agar surat manfiy va maxraj nolga teng bo'lsa, “-inf” deb chiqaring.
Birinchi qatorda ikkita butun son va berilgan, bunda:
Keyingi qatorda ikkita butun son va berilgan, -nuqtaning koordinatalarini ifodalaydi.
Keyingi qatorda so'rovlar berilgan:
- Birinchi turdagi so'rov uchun qatorda `1 i a b` berilgan, bunda:
- — yangilanadigan nuqtaning indeksi.
- va — yangi koordinatalar .
- Ikkinchi turdagi so'rov uchun qatorda `2 l r` berilgan, bunda:
- va — oralig'ining indekslari.
Cheklovlar:
-
-
-
-
Har bir oraliq so'rovi uchun oralig'idagi nuqtalarning korrelyatsiya koeffitsientini chiqaring:
- Agar korrelyatsiya koeffitsienti aniqlanmagan bo'lsa, `undefined` chiqaring.
- Agar korrelyatsiya koeffitsienti inf bo'lsa, `inf` chiqaring.
- Agar korrelyatsiya koeffitsienti -inf bo'lsa, `-inf` chiqaring.
- Aks holda, korrelyatsiya koeffitsientini chiqaring
Dasturingiz chiqargan son, juri yechimi chiqargan sondan ko'p bilan farq qilishi lozim.
Birinchi test uchun izoh
1. Birinchi So'rov (`2 1 5`):
- Oraliq: (barcha 5 nuqta).
- Bu nuqtalar bir to'g'ri chiziqda joylashgan, shuning uchun korrelyatsiya koeffitsienti ga teng.
2. Ikkinchi So'rov (`1 3 10 20`):
- Uchinchi nuqtani dan ga yagilanadi.
- Yangi nuqtalar: .
3. Uchinchi So'rov (`2 1 5`):
- Oraliq: (barcha 5 nuqta).
- Nuqtalar: .
- Uchinchi nuqta chiziqdan biroz chetga chiqqanligi sababli, korrelyatsiya koeffitsienti ga teng.
4. To'rtinchi So'rov (`2 2 4`):
- Oraliq: (2-chi, 3-chi va 4-chi nuqtalar).
- Nuqtalar: .
- Korrelyatsiya koeffitsienti: 0.93471954
5. Beshinchi So'rov (`2 1 3`):
- Oraliq: (1-chi, 2-chi va 3-chi nuqtalar).
- Nuqtalar: .
- Korrelyatsiya koeffitsienti: 0.99377021
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 5 1 2 3 4 5 6 7 8 9 10 2 1 5 1 3 10 20 2 1 5 2 2 4 2 1 3 |
1.00000000 0.88345221 0.93471954 0.99377021 |
2 |
3 4 -1 1 0 0 1 -1 2 1 3 1 2 5 5 2 1 3 2 2 3 |
-1.00000000 0.78571429 1.00000000 |
3 |
4 4 1 1 1 1 1 1 1 1 2 1 4 1 2 2 2 2 1 4 1 3 2 -2 |
undefined 1.00000000 |