A. Tizimda jarima hisoblash

Xotira: 16 MB, Vaqt: 1000 ms
Masala

RoboContest.uz da yangi bo'lgan ko`pchilik ba'zida jarima tizimi qanday ishlashini tushunishmaydi. Bunda jarima quyidagicha baholanadi: Har bir xato yuborilgan urinish uchun 5 daqiqa jarima hisoblanadi va to'g'ri javobni yuborgan vaqtini daqiqa sifatida yaxlitlab qo'shiladi. Aytaylik foydalanuvchi to'g'ri javob yuborishdan oldin 5 ta xato urinishga yo'l qo'ydi. To'g'ri javobni esa 21-daqiqada yubordi.Unutmang 21 daqiqa deganda misol uchun "20:SS" nazarda tutuiladi. Unda bu masala uchun jarima:

\(20 + 5 \cdot 5 = 45\)

Kabi hisoblanadi.

Kiruvchi ma'lumotlar:

Kirish faylida yagona qatorda xato urinishlar soni \(X(0\le X \le 100)\) va to'g'ri yechim nechanchi daqiqada yuborganligi \(M(1\le M \le 180)\) kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylida esa ushbu masala uchun yig'ilgan jarimani hisoblashingiz kerak bo'ladi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5 21
45

B. Qiziqarli ketma-ketlik

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Kunlardan bir kun Robotoy bir ketma-ketlikni ko'rib qoldi. U quyidagicha:

\(1^3+2^3+3^3 + ... + N^3\)

U ketma-ketlikni qiziqarli deb ataydi qachonki uning bo'luvchilar soni toq bo'lsa.

Berilgan N uchun ketma-ketlik qiziqarli yoki yo'qligini aniqlang.

Kiruvchi ma'lumotlar:

Kirish faylida yagona qatorda N (\(1\le N\le 10^{18}\)) soni beriladi.

Chiquvchi ma'lumotlar:

Chiqish faylida agar ketma-ketlik qiziqarli bo'lsa ″Qiziqarli″ aks holda ″Qiziq emas″ deb chop eting. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
1
Qiziqarli

C. Kompyuter xonasida

Xotira: 32 MB, Vaqt: 1000 ms
Masala

TATU ning E blok 111-xonasi, kompyuter xonasidir. Va u yerda \(N\) ta kompyuter bir qator chiziqda joylashgan. Tez orada u xonada Shokirov Shodmon domlaning darsi boshlanadi. Shuning uchun ham hali xonaga kirmagan talabalar NB(darsda bo`lmadi) olmasligi uchun xonaga kirishni tezlashtirishlari lozim. Ammo aniqlandiki, bu xonadagi ba'zi kompyuterlardan foydalanib bo`lmaydi. Chunki u kompyuterlardan hozir kimdir foydalanyapti yoki ular buzuq. Xonaga kelgan har yangi talaba eshikka eng yaqin foydalanib bo`ladigan kompyuter oldiga o`tiradi va u kompyuterni yangi keladiganlar uchun foydalanilmaydigan qiladi. 1-kompyuter eshikka eng yaqin hisoblanadi.

Agar dars boshlanmasidan oldin xonaga \(K\) ta bola kirsa, ular band qiladigan kompyuter o`rinlarini o`sish tartibida ekranga chiqaring. Foydalanib bo`ladigan kompyuterlar yetarlicha ekanligi kafolatlanadi.

Kiruvchi ma'lumotlar:

Birinchi qatorda ikkita butun son - \(N\) va \(K(1 \leq K \leq N \leq 2*10^5)\) sonlari kiritiladi.

Keyingi qatorda \(N\) ta butun son kiritiladi. \(i\)-son: \(1\) bo`lsa, bu kompyuterdan foydalanib bo`lmasligini, \(0\) bo`lsa esa bu kompyuterdan foydalanib bo`lishini anglatadi.

Chiquvchi ma'lumotlar:

Darsga ulgurgan talabalar o`tiradigan kompyuter o`rinlarini orqali chiqaring.

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

D. Karimjon va ABC

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Karimjon bu safar bo`sh \(S\) satrni oldi. So`nga bir necha marotoba uning ustida quyidagi amalni bajardi.

U bir amalda \(S\) satrning istalgan joyiga 'A' belgisini qo`shadi. Keyin aynan shu 'A' belgisidan o`ng tomonga istalgan joyga 'B' belgisini joylashtiradi. Keyin aynan shu 'B' belgisidan o`ng tomonga istalgan joyga 'C' belgisini joylashtiradi.

Sizga \(T\) satr beriladi. Shu \(T\) satr natijaviy satr bo`la olsa 'YES' bo`lmasa 'NO' deb chiqaring.

Kiruvchi ma'lumotlar:

Yagona qatorda bitta satr \(T\) satri kiritiladi. Uning uzunligi \(2*10^5\) dan oshmasligi va satr faqat 'A', 'B', 'C' harflardan iborat ekanligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Yagona qatorda masala javobini chop eting.

 

Izoh:

Python tili uchun PyPy kompilyatoridan foydalanishni maslahat beramiz!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
ABABCACBC
YES
2
ABCCAB
NO

E. Chiroyli songa alishtiring!

Xotira: 32 MB, Vaqt: 1250 ms
Masala

Adhamjonning sevimli \(K\) natural soni mavjud bo`lib, u shu songa bo`linadigan barcha natural sonlarni chiroyli deb hisoblaydi. Adhamjon bugun uyqudan turgach \(X\) sonini ko`rib qoldi. U hali endi uyqudan turgani uchun ham bu son chiroyli yoki chiroyli emasligini aniqlashtira olamadi.

Sizning vazifangiz shu sonning raqamlarini almashtirgan holda chiroyli natural son hosil qilishdir. Almashtirib bo`lgach son 0 raqami bilan boshlanmasligi zarur. Javob sifatida shu sonni chiqaring. To`g`ri javob bir nechta bo`lsa, istalganini chiqaring. Agar buning iloji bo`lmasa "No valid permutation!" so`zini qo`shtirnoqlarsiz chiqaring.

Kiruvchi ma'lumotlar:

Yagona qatorda ikkita butun son - \(X(1 \leq X \leq 10^{10})\) va \(K(1 \leq K \leq 10)\) kiritiladi.

Chiquvchi ma'lumotlar:

Yagona qatorda masala javobini chiqaring.

Izoh:

Ikkinchi testda 106 sonini 2 xil usulda raqamlarini joyini o`zgartirish mumkin: 106 va 601. Ikkalasi ham 7 ga bo`linmagani uchun ham javob "No valid permutation!" bo`ladi.

 

Python tili uchun PyPy kompilyatoridan foydalanishni maslahat beramiz!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
204423 4
202344
2
106 7
No valid permutation!
3
126 9
126

F. Is it Fibonacci?

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Barchasi juda oddiy. Uchta butun \(x,y,a\) sonlari beriladi.

\(f(n) = \begin{cases} x & n = 0 \\ y & n = 1 \\ f(n-1)+f(n-2) & n \ge 2 \end{cases}\)

bo`lsa, \(f(a)\) ni \(10^9+7\) ga bo`lgandagi qoldig`ini hisoblang.

Kiruvchi ma'lumotlar:

Birinchi qatorda bitta butun son - \(T(1 \leq T \leq 2*10^5)\) testlar soni kiritiladi.

Har keyingi yangi qatorda, yangi test uchun - \(x,y(0 \leq x,y \leq 10^9)\) va \(a(0 \leq a \leq 2*10^5)\) sonlari kiritiladi.

Chiquvchi ma'lumotlar:

Har bir test uchun yangi qatorda bittadan butun son, masala javobini chiqaring.

Izoh:

Python tili uchun PyPy kompilyatoridan foydalanishni maslahat beramiz!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
11
3 5 2
1 1 6
6 7 1
1 1 12
7 4 5
5 6 9
3 2 0
1 1 40
2 2 19
19 75 6
976 85 12
8
13
7
233
41
309
3
165580141
13530
695
99104

G. EKUK interaktiv

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Kompyuter bir son o'yladi. Sizdan bu sonni topish so'raladi. Bunda faqat kompyuterdan bir narsani so'rashingiz mumkin. Kompyuterga bir son aytasiz kompyuter esa siz bergan son va o'zi o'ylagan sonlar EKUK(Eng Kichik Umumiy Karrali)ini aytadi. Ko'pi bilan 2 ta so'rovda kompyuter o'ylagan sonni toping.

Kiruvchi ma'lumotlar:

Har bir so'rovga mos ravishda kompyuter javob qaytaradi. Bunda kompyuter o'ylagan son:  \(1\le{N}\le10^{12}\)

Chiquvchi ma'lumotlar:

Har bir so'rovni quyidagi formatda jo'natishingiz so'raladi. ″? X″ - bunda X ning qiymati \(2\le X \le 10\) shartni qanoatlantirishi kerak.

Javobni topganda esa ″! X″ ko'rinishida javob yo'llaysiz.

Har bir so'rovdan keyin qatorni tugatish yodingizdan ko'tarilmasin.

 

Izoh:

ESLATMA: Interaktiv masalada sizning javobingizni hakamlar hay’ati qabul qila olishi uchun siz har bir so’rovingiz oxirida

  • Agar Pascal tilida ishlagan bo’lsangiz: flush(output)
  • Agar C/C++ tilida ishlagan bo’lsangiz fflush(stdout) yoki cout.flush()
  • Agar Java tilida ishlagan bo’lsangiz System.out.flush()
  • Agar pythonda ishlagan bo’lsangiz sys.stdout.flush()
  • Agar C# tilida ishlagan bo’lsangiz Console.Out.Flush()

Buyruqlardan birini yozishingiz kerak bo’ladi!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
604
? 4
! 302
Kitob yaratilingan sana: 15-Nov-24 06:50