A. Yuklar

Xotira: 64 MB, Vaqt: 1000 ms
Masala

Sunnat online xaridlarni yoqtiradi. Yaqin \(10^9\)kun ichida pochta markaziga Sunnatning nomiga \(n\) ta yuk kelishi kerak. Keling keyingi  \(10^9\)kunlarni raqamlaylik: 1-kun, 2-kun, ..., \(10^9\)-kun.  \(i\)-yuk pochta markaziga \(l_i\)-kun keladi, va bu yukni pochta markazidan olib ketish uchun oxirgi kun \(r_i\)-kundir. Bu degani, Sunnat usbhu yukni \(x\)-kun olib ketoladi, agarda \(l_i \leq x \leq r_i\) sharti bajarilsa. Sunnat pochta markaziga bir marta kelganida uyiga eng ko'pi bilan \(k\) tagacha yuk olib ketoladi. E'tibor bering, Sunnat bir kun davomida pochta markaziga bir necha marta borib kelishi mumkin. Sunnat minimal necha marta pochto markaziga borgan holda, barcha yuklarini uyiga olib keta oladi.

Kiruvchi ma'lumotlar:

Birinchi qatorda bitat butun son - \(T(1 \leq T \leq 3000)\) testlar soni kiritiladi.

Har bitta test uchun birinchi qatorda \(n\) va \(k(1 \leq k \leq n \leq 100000)\) kiritiladi. Keyingi \(n\) ta qatorning har bitida ikkita butun son \(l_i\) va \(r_i(1 \leq l_i \leq r_i \leq 10^9)\) kiritiladi.

Barcha testlar kesimida \(n\) larning summasi \(10^6\) dan oshmasligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Har bitta test uchun alohida qatoda, Sunnat pochta markazida eng kamida necha marta borishi kerakligini chiqaring.

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

B. Noto'g'ri yig'indi

Xotira: 512 MB, Vaqt: 3000 ms
Masala

Sobirjonda uzunligi \(n\) ga teng \(arr\) butun sonlar massivi bor. Sobirjon shunday ikkita \(i,j(i \neq j)\) sonlar olmoqchiki, \(arr[i] + arr[j]\) yig'indi maksimal bo'lsin.

Ammo muammo shundaki, Sobirjon qo'shish amalini xato bajaradi. U sonlarni qo'shganda xona ko'chisini inobatga olmaydi. Ya'ni qaysidir xonalar uchun, shu xonalardagi raqamlar yig'indisi 9 dan oshsa ham, 1 ni yodda saqlamaydi, keyingi razryadga ta'sir qildirmaydi. Aniq misollar bilan tushuntirgan quyroq.

5 + 5 = 0; 23+17 = 30; 354 + 168 = 412; 55 + 55 = 0; 9+11 = 10;

1000023 + 1070099 = 2070012; 12 + 7 = 19; 9 + 7 = 6; 124 + 123 = 247;

Kiruvchi ma'lumotlar:

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

Keyin har bir test uchun alohida, birinchi qatorda butun son - \(n(1 \leq n \leq 2 * 10^5)\) kitiriladi. Keyingi qatorda \(n\) ta butun son, \(arr\) massivi elementlar kiritiladi. Sonlar \(0..10^9\) oralig'ida ekanligi kafolatlanadi.

Barcha testlar kesimida \(n\) larning summasi \(10^6\) dan oshmasligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatorda, uchta butun son chiqaring:

maksimal \(arr[i] + arr[j]\) yig'indini, \(i\) va \(j\) ni. To'g'ri keluvchi \((i, j)\) lar juftligi bir nechta bo'lsa, oldin \(i\) ni minimallashtirishga harakat qiling, so'ngra \(j\) ni  minimallashtirishting. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
3
12 9 7
2
55 55
4
155 55 955 555
19 1 3
0 1 2
900 2 3

C. Codeforces EDU

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Codeforcesning EDU bo'limida juda qiziqarli mavzularga oid darslar va mashq uchun masalalar mavjud. 

Shu mavzulardan birini ochib, Yakuniy Natijalar bo'limiga kirsak, quyidagiga o'xshash rasmni ko'ramiz:

E'tibor bersangiz, 1-qism mashg'ulotda 3 ta masala bo'lgan; A, B va C. 2-qism mashg'ulotda 3 ta masala bo'gan: A, B, C va D. Hamda umumiy natijalar jadvalida, bu masalalar aynan shu ketma-ketlikda berilgan.

Sizga umumiy natijalardagi masalalar ketma ketligi beriladi, sizning vazifangiz mashg'ulot necha qismga bo'linganligini topishdir.

Kiruvchi ma'lumotlar:

Yagona qatorda bitta satr, yakuniy natijalardagi masalalarning harflari ketma ketligi.

Satrning uzunligi \(10^5\) dan oshmaydi.

Chiquvchi ma'lumotlar:

Mashg'ulot necha qismga bo'linganligini toping.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
ABCABAABCDEFABC
5
2
ABCABCDABCDEABCDE
4

D. ReLU

Xotira: 512 MB, Vaqt: 3000 ms
Masala

Uzunligi \(n\) ga teng ikkita \(A\) va \(B\) massivi bor. Massivlar hozir 0 lar bilan to'ldirilgan.

Sizga jami \(Q\) ta 3 xil turgagi so'rov beriladi, siz ularni bajarishingiz lozim.

  1. \(1 \ l \ r \ c\): barcha \(l \leq i \leq r\) uchun oldin \(a[i] \leftarrow a[i] + c\) qiling, so'ngra \(b[i] \leftarrow max(b[i], a[i])\)qiling.
  2. \(2 \ l \ r \ d\): barcha \(l \leq i \leq r\) uchun oldin \(a[i] \leftarrow max(a[i], d)\) qiling, so'ngra \(b[i] \leftarrow max(b[i], a[i])\)qiling.
  3. \(3 \ l \ r\): ekranga yangi qatordan \(max(b[l], b[l+1], \dots b[r])\) ni chiqaring.

 

Kiruvchi ma'lumotlar:

Birinchi qatorda ikkita butun son, \(n\) va \(q(1 \leq n,q \leq 5 * 10^5)\) kiritiladi. 

Keyingi \(q\) ta qatorning har birida so'rovlar masala shartida ko'rsatilgan formatda kiritiladi. Bunda \(1 \leq l \leq r \leq n\)\(c \leq |10^6|\) va \(d \leq |10^{12}|\).

Chiquvchi ma'lumotlar:

Har bir qatordan alohida 3-turdagi so'rovlarning natijasini chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
13 10
1 1 2 2
3 3 4
2 1 11 1
3 7 12
1 1 6 -100
2 2 6 100
3 3 13
3 6 10
2 2 7 144
3 4 8
0
1
100
100
144

E. 3 ta har xil belgi

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Ravshanjonda ajoyib satr bor. Satrning ajoyibligi shundaki, u 3 xil harfdan tashkil topgan va har bir harf aynan 3 martadan bu satrda qatnashgan. U satrdagi belgilarning barchasini o'chirmoqchi. Ravshanjon bir o'chirishda, ketma-ket bir kelgan bir xil belgilarni o'chira oladi. Agar u bir urinishda ketma ket 3 ta harfni o'chira olsa, xursandligi 1 ga ortadi.

Masalan abbacbcca satrida Ravshanjon quyidagicha ish tutadi: abbacbcca ni o'chiradi. Ammo bunda uning xursandligi oshmaydi. Keyingi safar aacbcca ni ochiradi va bunda ham xursandligi ortmaydi. Keyingi safar aaccca ni o'chiradi va xursandligini 1 ga oshiradi. Eng oxirida aaa ni o'chiradi va xursandligini yana 1 ga oshiradi.

Natijada Ravshanjon xursandligini 2 birlikka ga oshirdi.

Ravshanjon erishishi mumkin bo'lgan maksimal xursandlikni toping.

Kiruvchi ma'lumotlar:

Birinchi qatorda bitta butun son - \(T(1 \leq T \leq 100)\) testlar soni kiritiladi.

Har bir test uchun alohida qatorda uzunligi 9 ga teng bitta satr beriladi. Satr ingliz alifbosining 3 ta kichik harflaridan iborat va har bir harf satrda 3 marta ishtirok etgan.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatorda Ravshanjonning xursandchiligi maksimal necha marta oshishini toping.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
hhhlllkkk
sssrrtrtt
ababccacb
abcabcabc
pqrrprqqp
3
2
2
1
2

F. Bir o'lchovli labirint

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Dilshod xonalari \(1\) dan \(n\) gacha raqamlangan bir o'lchovli labirintda adashib qoldi. Hozirda u labirintning \(k\)-xonasida turibdi va labirindan chiqish uchun \(1\)-yoki \(n\)-xonalardan biriga borishi kerak . Dilshod o'z istagi bilan yura olmaydi, shuning uchun ham turgan xonasining belgisilga qarab yuradi.

  • \(L\) belgili xonada turgan bo'lsa hozirgi turgan xonasidan qo'shni chap xonaga o'ta oladi.
  • \(R\) belgili xonada turgan bo'lsa hozirgi turgan xonasidan qo'shni o'ng xonaga o'ta oladi.

Harakat qilishni boshlashdan oldin, Dilshod istalgan xonalarining belgilarini almashtira oladi. U minimal nechta almashtirishlar yordamida labirintdan chiqib keta oladi?

Kiruvchi ma'lumotlar:

Birinchi qatorda bitta butun son - \(T\) testlar soni kiritiladi.

Keyingi qatordan boshlab har bir test uchun alohida, birinchi qatorda \(n(1 \leq n \leq 2 * 10^5)\)labirintdagi xonalar soni va \(k(1 < k < n)\) hozirda Dilshod turgan xonaning tartib raqami kiritiladi. Ikkinchi qatorda esa bitta satr, labirintdagi xonalarning belgilar kiritiladi.

Barcha testlar kesimida \(n\)larning yig'indisi \(10^6\) dan oshmaydi.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatorda, DIlshod minimal nechta o'zgartirishlar yordamida labirintdan chiqib ketishini toping.

Izoh:

1-testda, Dilshod labirintning 3-xonasid turibdi. 1 ta belgini o'zgartirish yordamida labirintni RLLRLR ko'rinishiga olib keladi. 

So'ng quyidagicha harakat qiladi: RLLRLR → RLLRLR → RLLRL

1-raqamli xonaga kelib bo'lgach, Labirintdan chiqib ketadi.

 

2-testda faqat chapga yurgan holda labirintdan chiqib ketadi.

 

3-testda esa Dilshod oldin satrni LRLRRRRL ga o'zgartiradi.

So'ng quyidagicha harakat qiladi: LRLRRRRL → LRLRRRRL → LRLRRRRL → LRLRRRRL → LRLRRRRL. Oxirgi xonaga kelgach, labirintdan chiqib ketadi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
6 3
RLRRLR
4 2
LLRR
8 4
LRLRRLLL
1
0
2
Kitob yaratilingan sana: 18-Oct-24 07:57