A. Kutubxona

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Mirzo Ulug’bek kitob o’qishni judayam yaxshi ko’radi, shuning uchun u har doim shahar kutubxonasidan ma’lum muhlatda qaytarib berish evaziga kitoblarni olib o’qib turadi. Kitobxonlar kitoblarni kechiktirmasdan olib kelishlari uchun kutubxonaga kitob muhlatidan keyin qaytarilsa quyidagi shaklda jarimaga tortiladi:

  • Agar kitob o’z muhlatida, yoki undan ertaroq qaytarilgan bo’lsa jarima miqdori 0 ga teng.
  • Agar kitob belgilangan muhlatdagi yil va oyda qaytarilsayu kun bo’yicha kechiktirilsa har bir kechiktirilgan kun uchun 15 dinordan jarima hisoblanadi.
  • Agar kitob kelishilgan yilda qaytarilsayu oy bo’yicha kechikkan bo’lsa har bir kechikkan oy uchun 500 dinordan jarima hisoblanadi
  • Agar kitob kelishilgan yildan kechiktirilgan holda qaytarilsa jami 10000 dinor jarima hisoblanadi.

Masalan kitob 2020-yilning 1-yanvarida qaytarilishi kerak bo’lsa, yoki 2020-yilning 31-dekabrida qaytarilishi kerak bo’lsa ammo kitob 2021-yilning 1-yanvarida qaytarilsa kechikish yil bo’yicha hisoblanadi va jami 10000 dinor jarima hisoblanadi.

Mirzo Ulug’bek kitobni kutubxonaga topshirganida unga necha dinor miqdorida jarima hisoblanishini aniqlang.

Kiruvchi ma'lumotlar:

Dastlabki satrda 3 ta butun son, \(k_1, o_1, y_1\) – kitob kutubxonaga qaytarilgan kun, oy, yil ni ifodalaydi.

Keyingi qatorda 3 ta butun son, \(k_2, o_2, y_2\) – kitob kutubxonaga qaytarilishi belgilangan kun, oy, yil ni ifodalaydi.

\(1 ≤ k_1, k_2 ≤ 31\)
\(1 ≤ o_1, o_2 ≤ 12\)
\(1 ≤ y_1, y_2 ≤ 3000\)

Sanalar Grigorian kalendariga mos kelishi kafolotlanadi.

Chiquvchi ma'lumotlar:

Mirzo Ulug’bek necha dinor jarimaga tortilishini chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
6 6 2020
9 6 2021
0
2
9 6 2020
6 6 2020
45

B. Kitob

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Barchaga Mirzo Ulug’bekning kitob o’qishga qiziqishi ma’lum bo’lsa kerak. U o’qib turgan kitobining \(p\) – betiga kelganida kitobni yopib ishlarini bajarishga chiqib ketgan edi, ishlarini tugatib qaytib kelganidan keyin u kitobni \(p\) – betidan o’qishni davom ettirish uchun kitobning \(p\) - betini ochishi kerak. U o’qib turgan kitob jami n betdan iborat, masalan \(n = 5\) bo’lganda quyidagi kabi:

Без названия (4) .png

Kitob muqovasining oldi tomoni kitob beti sifatida qaralmaydi, qolgan barcha qog’ozlar ikkala tomondan ham betlangan bo’ladi, kitob muqovasining orqa tomoni ichki qismi zarur hollarda betlangan bo’ladi, bo’lmasa bo’sh bo’lishi mumkin, misol uchun \(n=6\) da quyidagicha:

Mirzo Ulug’bek \(p\) - betni ochish uchun kitobning oxiridan yoki boshidan boshlab varoqlashni boshlaydi, har bir ochishda u faqat 1 varoqni ochadi, masalan kitob boshidan boshlaganda dastlab u 1-betni ko’radi, keyin 1 varoq ochganida 2 va 3-betlarni ko’radi, keying varoqlaganida 4 va 5-betlarni, va hokazo. Mirzo Ulug’bek \(p\) - betni ochishi uchun kitob muqovasidan tashqari yanam kamida necha varoqni aylantirishi kerakligini aniqlang.

Kiruvchi ma'lumotlar:

Bitta qatorda ikkita butun son, \(n(1 ≤ n ≤ 10^9)\) va \(p(1 ≤ p ≤ n)\) sonlari kiritiladi.

Chiquvchi ma'lumotlar:

Mirzo Ulug’bek kitobning \(p\) – betini ochish uchun kitob muqovasidan tashqari kamida necha varoqni ochishi kerakligini aniqlang.

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

C. G’azna

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Mirzo Ulug’bek o’z kutubxonasini tashkil etish uchun pul yig’ishni rejalashtirdi. Uning rejasi bo’yicha kunlik daromadiga qarab har kun kechqurun o’z g’aznasiga yoki \(A\) dinor, yoki \(B\) dinor qo’shib bora oladi. Mirzo Ulug’bek pul yig’ishni boshlaganining \(N\) - kuni tongda g’aznasiga necha dinor yig’ilgan bo’lishi mumkinligini aniqlang. Pul yig’ish boshlanishidan oldin g’azna bo’sh (0 dinor) deb hisoblansin.

Kiruvchi ma'lumotlar:

Dastlabki satrda bitta butun son, \(T(1 ≤ T ≤ 10)\) testlar soni kiritiladi. Keyingi qatordan boshlab har bir test uchun alohida 3 ta qatorning 1-satrida \(N\), 2-satrida \(A\), 3-satrida \(B(1 ≤ N, A, B ≤ 1000)\) butun sonlari kiritiladi.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatorda Mirzo Ulug’bek g’aznasida yig’gan bo’lishi mumkin bo’lgan miqdorlarni bo’sh joy bilan ajratgan holda qiymat jihatdan o’sish tartibida chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2
3
1
2
4
10
100
2 3 4
30 120 210 300

D. Qismlarga bo'lish o'yini

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Mirzo Ulug’bek kitob olgani kitob do’koniga bordi. Ming afsuski uning hamyonida birorta ham kitobga yetadigan puli yo’q edi. Buni chetdan kuzatib turgan kitobxona xo’jayini Mirzo Ulug’bekning kitobga qiziqishini ko’rganidan so’ng Mirzo Ulug’bekka kitob sovg’a qilish maqsadida unga o’yin o’ynashni taklif qildi, shu o’yinda Mirzo Ulug’bek necha ball yig’sa, shuncha kitobni sovg’a qilishini aytdi. Tabiiyki Mirzo Ulug’bek bunga ko’ndi va diqqat bilan o’yin shartlarini tingladi:

  • Mirzo Ulug’bekga nomanfiy butun sonlardan iborat massiv beriladi.
  • Mirzo Ulug’bek massivni ketma-ket elementlardan tashkil topgan, bo’sh bo’lmagan shunday 2 massivga ajratishi kerakki chap tomon elementlaridan tashkil topgan massiv elementlari yig’indisi o’ng tomon elementlaridan tashkil topgan massiv elementlari yig’indisiga teng bo’lishi kerak. Agar Mirzo Ulug’bek bu ishni amalga oshira olsa u 1 ball ga ega bo’ladi, aks holda o’yin o’z nihoyasiga yetadi.
  • Har bir muvoffaqiyatli turdan so’ng Mirzo Ulug’bek chap yoki o’ng tomon elementlaridan tashkil topgan massivni o’yindan tashqariga uloqtiradi va o’zida qolgan massiv bilan o’yinni davom ettiradi.

Masalan: dastlab Mirzo Ulug’bekda \([1,2,3,6]\) massivi mavjud bo’lsin, u bu massivni \([1,2,3]\), \([6]\) shaklida ikkiga taqsimlashi mumkin(+1 ball), shundan so’ng \([6]\) ni o’yindan chiqarib, o’yinni \([1,2,3]\) bilan davom ettiradi. U bu massivni \([1,2]\), \([3]\) shaklida ikkiga taqsimlashi mumkin(+1 ball), shundan so’ng \([3]\) ni o’yindan chiqarib, o’yinni \([1,2]\) bilan davom ettiradi. U bu massivni ikkiga taqsimlay olmaydi va o’yin nihoyasiga yetib Mirzo Ulug’bek 2 ball ga ega bo’ladi, ya’ni kitob do’konidan ixtiyoriy 2 ta kitobni tekinga olib ketishi mumkin bo’ladi.

Kiruvchi ma'lumotlar:

Dastlabki satrda bitta butun son, \(T(1 ≤ T ≤ 10)\) testlar soni kiritiladi. Keyingi satrdan boshlab har bir test uchun alohida ikkita satrning birinchi satrida \(N(1 ≤ N ≤ 2^{14})\) – massiv elementlari soni, ikkinchi satrida \(N\) ta \([0, 10^9]\) oralig’idagi butun son, ya’ni, Mirzo Ulug’bekdagi dastlabki massiv elementlari kiritiladi.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatorda bittadan butun son, Mirzo Ulug’bek kitob do’konidan ko’pi bilan nechta kitobni tekinga olib ketishini chop eting.

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

E. Saralash

Xotira: 16 MB, Vaqt: 500 ms
Masala

Mirzo Ulug’bek o’zining juda katta kutubxonasiga ega bo’ldi. Hozirda unda turkiy tillar ensiklopediyasining N ta TOMi bor. Har bir TOM bitta kitobda joylashgan. Bu ensiklopediyalar kutubxonaning bitta javonida aralash tartibda joylashgan. Mirzo Ulug’bek ensiklopediyalarni topishda qiynalmaslik uchun kitob javonida kitoblarni TOMi bo’yicha o’sish tartibida saralab qo’ymoqchi. Ammo boshqotirmalarni yaxshi ko’rgani bois saralashni ham oddiy usullardan foydalanib emas, o’zgacha usulda, ya’ni, ketma-ket turgan ixtiyoriy 3 ta kitobni tanlab ularni \(ABC\) holatidan \(CAB\) holatiga o’tkazish, xuddi shu amalni 0 yoki undan ko’p marotaba bajargan holda Mirzo Ulug’bek kitoblarni TOMi bo’yicha saralay oladimi yoki yo’qligini aniqlang.

Masalan kitoblarning dastlabki holati [1,6,5,2,4,3] bo’lsa:

Hozirgi holat

Tanlangan ABC

Keyingi holat

[1,6,5,2,4,3]

[6,5,2]

[1,2,6,5,4,3]

[1,2,6,5,4,3]

[5,4,3]

[1,2,6,3,5,4]

[1,2,6,3,5,4]

[6,3,5]

[1,2,5,6,3,4]

[1,2,5,6,3,4]

[5,6,3]

[1,2,3,5,6,4]

[1,2,3,5,6,4]

[5,6,4]

[1,2,3,4,5,6]

Demak saralash mumkin.

 
Kiruvchi ma'lumotlar:

Dastlabki qatorda bitta butun son, \(N(1 ≤ N ≤ 10^5)\) kitob TOM lari soni kiritiladi. Keyingi qatorda \(1\) dan \(N\) gacha bo’lgan sonlarning ixtiyoriy permutatsiyasi kiritiladi, bu kitob TOM lari hozirda kitob javonida qanday joylashganligini ifodalaydi

Chiquvchi ma'lumotlar:

Mirzo Ulug’bek kitob TOMlarini o’zi o’ylagan usulda tartiblay olsa YES aks holda NO so’zini chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
3 1 2
YES
2
4
1 3 4 2
YES
3
5
1 2 3 5 4
NO
4
6
1 6 5 2 3 4
NO
Kitob yaratilingan sana: 21-Nov-24 19:59