A. Meeting

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Biznes markazimiz juda ham ko‘p biznesmenlar sar angan joy hisoblanadi. Bu yerda logistika, ta’lim, sog‘liqni saqlash, davlat iqtisodi va umuman barcha sohalarda o‘zgarishlar va rivo jlanishlar muhokama qilinadi. Har yili bu biznes markazida muhim uchrashuv(meeting) bo‘lib o‘tadi. Bu meetingda ishtirok etish uchun juda ko‘p nufuzli shaxslar keladi. Hamda ular birlashgan holda mamlakatdagi hamda masshtabi bundan ham kattaroq muammolarga yechim qidirishadi. Biz esa lokalroq muammoga e’tibor bersak. 

Komiljonni bu meetingni o‘tkazish bo‘yicha javobgar qilib qo‘yishdi. Albatta, Komiljon bunga arziydi, chunki u oldin unga yuklatilgan barcha ishlarni vaqtida qilgan. Bu ishni ham so‘zsiz eplaydi. Biroq, bu meetingni o‘tkazish uchun eslatma stikerlari kerak bo‘ladi.
Komiljon stickerlarni olib qo‘yish bilan doimo qiynalgan...

Xususan muammoni o‘ziga o‘tsak. Stol ustida 1 taxlam(stack) eslatma stikerlari turibdi. Bu taxlamda jami A ta eslatma stikeri bor va Komiljon buni biladi. Meetingni uyushtirish uchun esa \(B(B < A)\) ta eslatma stikeri kerak. Sizning vazifangiz Komiljon minimal nechta harakat bilan shu taxlamdan B ta stikerni ajratib olishini topish. Bir harakatda Komiljon taxlam ustidan 1 dona stickerni olishi mumkin.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida bitta butun son -\( A(2 ≤ A ≤ 10^9)\) kiritiladi.
Ikkinchi qatorda bitta butun son -\( B(1 ≤ B < A)\) kiritiladi.

Chiquvchi ma'lumotlar:

Komiljon minimal nechta harakatda B ta stickerni ajratib olishini ekranga chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
2
2
2
6
4
2

B. Otto

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Otto - oynalarni yoqtiradigan bola. U kundalik hayotida oynalarni juda ko‘p ishlatadi, u deyarli barcha obyektlarga oyna orqali qaraydi. Ya’ni u doim obyektning oynaga tushgan aksini ko‘ra oladi. 

Hayotni bu burchakdan tomosha qilish, oson emas albatta. Har doim ham o‘zingiz ko‘rganingni to‘g‘ri qilib birovga tushuntira olmaysan, va aksincha, birov senga o‘zi ko‘rgan narsasini aniq qilib ko‘rsata olmaydi.
Ayniqsa so‘zlar bilan Otto ko‘p chalg‘iydi. Shuning uchun ham u sizdan dastur yasashni so‘radi. Bu dasturga Otto bitta so‘z kiritsa, dasturingiz bu so‘zning oynadagi aksini chiqarishi lozim. Agar so‘zning oynadagi aksini Otto o‘qiy olmasa, “Not readable!” deb chiqaring. E’tibor bering, Otto ham alifbodagi har arning haqiqiy ko‘rinishini - oynada akslanmagan ko‘rinishini biladi.

So‘zlarning aksini ko‘rish uchun ushbu resursdan foydalansangiz bo‘ladi: https://lingojam.com/MirrorYourText

(Otto doim shu resursdan foydalana olmaydi, chunki unda doim ham internet bo‘lmaydi).

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida faqatgina ingliz alifbosining katta har aridan
iborat bitta so‘z kiritiladi. So‘zning uzunligi \(2 * 10^3\) dan oshmasligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Yagona qatorda, agar so‘zning oynadagi aksini o‘qib bo‘lsa, shu so‘zning aksini chiqaring. Aks holda “Not readable!” deb chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
YOU
UOY
2
ABRACADABRA
Not readable!
3
OTTO
OTTO

C. Uchburchak

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Uchlari \((0,0)\) , \((250,0)\) hamda \((0,250)\) nuqtalarda joylashgan uchburchak bor. Shu uchburchakning tomonida yotgan \((x, y)\) nuqta beriladi, siz shu uchburchakning tomonida yotgan shunday \((x^′, y^′)\) koordinatani topingki \((x, y)\) nuqtadan \((x^′, y^′)\) nuqtaga tortilgan kesma uchburchakni yuzalari teng bo’lgan ikki qismga ajratsin.

Kiruvchi ma'lumotlar:

Kirish faylining yagona satrida 2 ta butun son - x, y kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylining yagona satrida 2 ta qiymat, \(x^′\) hamda \(y^′\) larni bo’sh joy bilan ajratgan holda \(10^{−2}\) aniqlikda chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
0 0
125.00 125.00
2
230 20
0.00 114.13
3
0 40
148.81 101.19

D. Quid mutatio

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Garri Potterda N ta sondan iborat massiv mavjud. Garri Potter o’zining sehrli tayoqchasi yordamida massivga quyidagi shaklda o‘zgartirish kirita oladi. Garri Potter ixtiyoriy x sonini hamda massivning ixtiyoriy \(1(1 < k)\) -elementini tanlaydi hamda sehrli tayoqchasini silkitib «Quid mutatio» deb aytgan holda massivning k-elementiga tekkizadi, va natijada massivning k-elementi va undan keyingi barcha elementlari ai soni \(2x − a_i\) soniga o‘zgaradi. Yanada aniqroq, barcha \(k ≤ i ≤ n\) uchun \(a_i := 2x − a_i\) ro‘y beradi.

Garri Potter shu amal yordamida massiv elementlarini kamaymaslik tartibiga keltirmoqchi hamda hosil bo’ladigan massivning eng katta qiymati imkon qadar kichikroq bo‘lishini istaydi. Garri Potter o’z istagiga erishganida massivning eng katta qiymati necha bo‘lishini hamda shu natijaga erishish uchun Garri Potter eng kamida necha marotaba sehrli tayoqcha kuchidan foydalanishini aniqlang.

Kiruvchi ma'lumotlar:

Kirish faylining dastlabki satrida bitta butun son,\( N(1 ≤ N ≤ 10^5)\) soni kiritiladi. Ikkinchi satrda N ta butun son, \(a(−10^9 ≤ a_i ≤ 10^9)\) massiv elementlari kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylining yagona satrida ikkita butun son, Garri Potter o’z istagiga erishganida massivning eng katta qiymati necha bo’lishini hamda shu natijaga erishish uchun Garri Potter eng kamida necha marotaba sehrli tayoqcha kuchidan foydalanishini chop eting.

Izoh:

1-testda 1 ta amalda, Garri Poter k = 2 va x = 2 ni tanlab massivini [1,1,2] qilishi mumkin. Shunda u 1 ta amalda massivini o‘suvchi qiladi va eng katta elementni 2 ga teng qiladi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
1 3 2
2 1
2
5
0 -9 3 2 1
3 3

E. Qism daraxt

Xotira: 256 MB, Vaqt: 1000 ms
Masala

Masala oson bo‘lsa - unga shart kerakmi?
N ta tugundan iborat daraxt mavjud. Bu daraxtning i -tuguni \(c_i(1 ≤ c_i ≤ K)\) - rangda bo’yalgan, hamda bu tugunda \(a_i(−10^9 ≤ a_i ≤ 10^9)\) soni yozilgan. Siz bu daraxtdan quyidagi shartlarni qanoatlantiradigan ixtiyoriy qism daraxtni ajratib oling:
- Ajratib olingan qism daraxtda kamida 1 ta tugun mavjud bo’lsin
- Ajratib olingan qism daraxtning barcha tugunlari bir xil rangda bo’lsin
- Ajratib olingan qism daraxtdagi barcha tugunlarda yozilgan \(a_i\) lar yig’indisi mumkin qadar kattaroq bo‘lsin.

Kiruvchi ma'lumotlar:

Kirish faylining dastlabki satrida ikkita butun son, \(N(1 ≤ N ≤ 2 * 10^5)\) va \(K(1 ≤ K ≤ 10^4 )\) sonlari berilgan. Ikkinchi satrda N ta butun son, a massiv elementlari kiritiladi. Uchinchi satrda N ta butun son, c massiv elementlari kiritiladi. Keyingi N − 1 ta satrda ikkitadan butun son, daraxt qirralari kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylining dastlabki satrida ajratib olingan qism daraxtning tugunlarida yozilgan \(a_i\) lar yig‘indisini chop eting. Ikkinchi satrda ajratib olingan qism daraxtning elementlari sonini chop eting. Uchinchi satrda ajratib olingan qism daraxt tugunlari raqamini bo‘sh joy bilan ajratgan holda chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
6 2
1 2 3 4 5 -2
2 2 1 1 2 1
1 3
2 1
1 4
2 5
2 6
8
3
1 2 5

F. Qayta raqamlash

Xotira: 256 MB, Vaqt: 2500 ms
Masala

Zarifda N ta qator va M ta ustundan iborat natural sonlardan tashkil topgan A matritsa bor, u bu matritsani eslab qolishi kerak. Zarif matritsaning \(A[i ][ j ]\) elementini eslab qolish uchun \(A[i ][ j ]\) energiya sar aydi. Zarifga aslida A matritsaning aynan o’zi emas, undagi har bir \(A[i ][ j ]\) elementning o’zini qatoridagi hamda o’zining ustunidagi prioriteti muhim, ya’ni, qayta raqamlashdan oldin o’zini qatorida yoki ustunida nechta elementdan kichik bo’lgan bo’lsa, qayta raqamlangandan keyin ham shuncha elementdan kichik bo’lishi kerak.
Zarif matritsani eslab qolishga sar aydigan energiyasini imkon qadar kamroq qilish uchun matritsani qayta raqamlab chiqmoqchi. Qayta raqamlangan matritsa elementlari ham natural sonlardan tashkil topgan bo‘lishi hamda matritsani eslab qolish uchun sarflanadigan umumiy energiya (matritsaning umumiy yig’indisi) imkon qadar kamroq bo’lishi kerak
Zarifga matritsani qayta raqamlashda yordam bering.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida ikkita butun son, N, M(1 ≤ NM ≤ 106 ) sonlari kiritiladi. Keyingi N ta satrning M ta ustunida A[i ][ j ] (1 ≤ A[i ][ j ] ≤ 109) matritsa elementlari kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylida N ta qatorda va M ta ustunda qayta raqamlangan matritsani chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2 2
1 2
3 4
1 2
2 3
2
4 3
20 10 30
50 40 30
50 60 70
90 80 70
2 1 3
5 4 3
5 6 7
9 8 7

G. Ceil game

Xotira: 512 MB, Vaqt: 3000 ms
Masala

Komiljon va Sarvarjon bugun ham odatdagidek musobaqalashishmoqchi. Bugun ularda uzunligi n bo‘lgan, \([1,10^9]\) oralig‘idagi butun sonlardan tashkil topgan a massivi bor. Komlijon va Sarvarjon quyidagicha harakatlanishadi:
- Ishtirokchilar galma-gal yurishadi, birinchi bo‘lib Komiljon yuradi.
- Navbati kelgan ishtirokchi, istalgan \(i(1 ≤ i ≤ n)\) va \(x (1 < x ≤ a_i )\) sonlarini tanlaydi, keyin a massividan \(a_i\) ni olib tashlab, o‘rniga \(⌈ \frac{a_i}{x} ⌉\) ni yozadi. \(⌈h⌉\) bu h sonining tepaga yaxlitlaganini anglatadi. Misol uchun: \(⌈3⌉ = 3 \)\(⌈6.1⌉ = 7\) ,\( ⌈−2.4⌉ = − 2\) . Ko‘rsatilgan chegaralardan ma’lumki, \(a_i = 1 \)shartni qanoatlantiruvchi \(i\) ni tanlash mumkin emas.
- O‘z navbatida yurishni amalga oshira olmagan ishtirokchi, mag‘lub bo‘ladi.
Albatta ikkala ishtirokchi ham optimal o‘ynaydi.
a massivi tayyor, Komiljon va Sarvarjon birozdan so‘ng o‘yinni boshlaydi. Ammo hozir Salimjon, Sarvarjonning ukasi kelib a massividan bir nechta sonlarni shunday o‘chirmoqchi, o‘yinda akasi Sarvarjon aniq g‘olib chiqsin. Agar Salimjon ko‘pi bilan k ta sonni o‘chira olsa, u necha xil usulda buni qila oladi?

Sizning vazifangiz shu qiymatni \(10^9 + 7\) ga bo‘lgandagi qoldig‘ini topish.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida ikkita son - \(n, k (1 ≤ n ≤ 3 * 10^5,0 ≤ k ≤ min(n,20)) \)massiv uzunligi va Salimjon massivdan o‘chirishi mumkin bo‘lgan elementlar soniga chegara.

Ikkinchi qatorda n ta natural sonlar - a massiv elementlari \((1 ≤ a_i ≤ 10^9)\) kiritiladi.

Chiquvchi ma'lumotlar:
Misollar:
# INPUT.TXT OUTPUT.TXT
1
5 0
1 2 1 1 3
0
2
1 0
1
1
3
2 2
5 9
1
4
3 1
4 1 3
2
Kitob yaratilingan sana: 25-Nov-24 18:37