A. Satrchalar

Xotira: 128 MB, Vaqt: 1000 ms
Masala

Dilshod "qog'oz kesish" ni yaxshi ko'radi: u gazeta sarlavhasidan belgilarni kesib tashlaydi va ulardan boshqa satr hosil qilish uchun qayda joylashtirib chiqadi.

Unda \(n\) ta \(S_1, S_2 \dots S_n\) gazeta sarvlahalari bor va u ulardan bittasini tanlab yangi satr yaratmoqchi. U hali qaysi sarvlahani tanlashini bilmaydi, shuning uchun sarlvaha tanlashidan qat'iy nazar, aniq yasay oladigan eng uzun so'zini topmoqchi. 

Bunda siz unga yordam bering. 

Kiruvchi ma'lumotlar:

Birinchi qatorda bitta butun son - \(n(1 \leq n \leq 50)\) sarvlahalar soni kiritiladi. 

Keyingi \(n\) ta qatorda \(S_i(1 \leq |S_i| \leq 1000)\) sarvlaha satrlari kiritiladi. 

Chiquvchi ma'lumotlar:

Dilshodning shartlariga mos keluvchi satrni toping.

Agar bunday so'zlar bir nechta bo'lsa, leksigrafik eng kichigini chiqaring. Agar bunday satr mavjud bo'lmasa, \(-1\) chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
abcca
ca
cccca
ac
2
2
bcde
fghij
-1

B. TTMT

Xotira: 128 MB, Vaqt: 1000 ms
Masala

Komiljon hozirgina uzunligi \(n\) ga teng va faqatgina ‘T’ va ‘M’ harflaridan tuzilgan \(s\) satrini topib oldi. Komiljon \(TTMT\) satrini yaxshi satr deb hisoblagani sababli, \(s\) dagi yaxshi satrlar sonini maksimallashtirmoqchi. Satrdagi \(TTMT\) satrlarning soni \(s_is_{i+1}s_{i+2}s_{i+3} = TTMT\) shartini qanoatlantirgan \(i\) larning soniga tengdir.

Komiljon bitta amalda \(s\) satrining istalgan joyiga ‘T’ yoki ‘M’ satrlardan birini joylashtirishi mumkin. Bu amalni birinchi marta bajarish uchun badal olinmaydi, ammo ikkinchi marta bajarish uchun 1 tanga, uchinchi marta bajarish uchun 2 tanga va h.k. davom etadi.

Komiljonning umumiy kayfiyati, 

(natijaviy satrdagi \(TTMT\) lar soni) \(-\) (jami to'lagan tangalari soni)

ga teng. Sizga boshlang'ich \(s\) satrli ma'lum, uning kayfiyatining maksimal qiymatini toping.

Kiruvchi ma'lumotlar:

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

Keyingi qatordan boshlab har bir test uchun, birinchi qatorda bitta butun son \(n(1 \leq n \leq 2 * 10^5)\) \(s\) satr uzunligi kiritiladi.

Ikkinchi qatorda esa \(s\) satrining o'zi kiritiladi.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatoda Komiljon erishishi mumkin bo'lgan maksimal kayfiyatni chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4
3
TTT
5
TTTTM
4
TMTM
9
TTMTTTTMT
1
1
1
3

C. RPG

Xotira: 128 MB, Vaqt: 2000 ms
Masala

Komiljon hozirda RPG turidagi kompyuter o'yinini o'ynamoqda. Hozirda uning vazifasi joni \(H\) birlikka teng maxluqni zarb etishdir. Maxluqning joni 0 yoki undan kamroq bo'lsa, u zarb etiladi.

Buning uchun u o'zida bor \(n\) ta \(1,2,\dots n\) bilan raqamlangan qurollaridan foydalana oladi. Biroq har bir qurol ko'pi bilan 1 marta ishlatilishi mumkin, bundan tashqari qaysidir qurolni ishlatganidan so'ng, Komiljon biroz vaqt ichida umuman hech qaysi qurollardan foydalana olmaydi.

Aytaylik Komiljon \(i\)-qurolini o'yin boshlanganidan \(x\) soniya o'tgach ishlatsin. Komiljonning ushbu qurolini ishga tushirganidan so'ng \(t_i\) soniya dam olishi kerak. Bu degani Komiljon \((x + t_i)\)-soniyagacha hech qaysi qurollardan foydalana olmaydi. Bundan tashqari qurol o'zining aktiv turish vaqti \(len_i\) ega. Yanada aniqroq aytsak, qurol ishga tushilrilganidan \((1 \leq j < len_i)\) soniya o'tkach, ya'ni o'yinning \((x + j)\)-soniyasida, maxluqning joni \(d_{i, j}\) miqdorga kamayadi. E'tibor bering, \(len_i\) soni \(t_i\) dan kattaroq bo'lishi mumkin. Ya'ni qurol ishga tushirilganch juda uzoq vaqt ishlab turilishi mumkin va uning effekti(aktiv turishi) boshqa qurollarniki bilan ustma ust bir vaqtda ishlatilishi mumkin.

O'yin 0-soniyada boshlanadi. Qurollarni to'g'ri ketma ketlikda ishlatgan holda, maxluqni eng minimal nechanchi soniya ichida zabt etib bo'lishini toping. Agar barcha qurollarini ishlatib bo'lgandan so'ng ham maxluq zabt etilmasa, ekranga \(-1\) chiqaring.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida bitta butun son - \(T\) testlar soni kiritiladi.

Har bir test uchun alohida qatordan boshlab:

Birinchi qatorda ikkita butun son \(n(1 \leq n \leq 18)\) va \(H(1 \leq H \leq 10^{18})\) kiritiladi. Keyingi qatordan boshlab qurollarning xarakteristikasi beriladi.

Har bir qurol uchun 2 ta qatorda quyidagilar kiritiladi.

Birinchi qatorda ikkita butun son \(t_i\) va \(len_i(1 \leq t_i, len_i \leq 100 000)\). Ikkinchi qatorda \(len_i\) ta butun son, \(d_{i,0},d_{i,1}, \dots ,d_{i,len_i-1} (1 \leq d_{i,j} \leq 10^9)\) sonlari kiritiladi.

\(n > 10\) lik testlar soni 5 tadan oshmasligi hamda barcha testlardagi \(len_i\) lar yig'indisi \(3000000\) dan oshmasligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Har bir test uchun alohida qatoda, maxluqni zabt etiladigan minimal vaqtni chiqaring. Agar maxluqni zabt etishning iloji bo'lmasa, -1 chiqaring.

Izoh:

1-testda Komiljonning bitta quroli mavjud. Maxluqning joni esa 100.

0-soniyada Komiljon qurolini ishlatadi.

0-soniyada qurol \(d_{1,0} = 50\) miqdorga maxluqning jonini kamaytiradi

1-soniyada qurol \(d_{1,1} = 60\) miqdorga maxluqning jonini kamaytiradi. Shu bilan maxluq zarb etiladi. Shuning uchun ham javob 1.

Agar maxluqning joni ko'proq bo'lganida!

2-soniyada qurol \(d_{1,2} = 70\) miqdorga maxluqning jonini kamaytirardi. 

Agar Komiljonning boshqa qurollari bo'lganida!

Komiljonning 5-soniyagacha dam olishi kerak bo'lardi va 5-soniyadan boshlab boshqa qurolini ishlata olardi.

 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
1 100
5 3
50 60 70
2 100
2 3
40 40 100
100 2
20 5
1 1000
1 1
999
1
2
-1

D. Super Struktura

Xotira: 256 MB, Vaqt: 2500 ms
Masala

Uzunligi \(n\) ga teng \(a\) massivi berilgan. Sizning vazifangiz jami \(q\) ta 4 xil turdagi so'rovlarga javob berish.

  • \(1 \ x \ y \ z\) so'rovi kiritilganda, har bir \(1 \leq i \leq n\) soni uchun, agar \(x \leq a_i \leq y\) sharti bajarisa, \(a_i \leftarrow z\) amalini bajaring. (\(\leftarrow\) amali o'zlashtirishni anglatadi).
  • \(2 \ l \ r \ c\) so'rovi kiritilganda, har bir \(l \leq i \leq r\) uchun \(a_i \leftarrow c\) amalini bajaring.
  • \(3 \ p\) so'rovi kiritilganda, \(a_p\) ni ekranga chiqaring.
  • \(4 \ p\) so'rovi kiritilganda, \(1 \leq i \leq n\) va \(a_i > a_p\) shartini qanoatlantiruvchi \(i\) lar sonini chiqaring.
Kiruvchi ma'lumotlar:

Birinchi qatorda ikkita butun son \(n, q(1 \leq n, q \leq 200000)\) kiritiladi.

Ikkinchi qatorda \( n\) ta butun son - \(a\) massiv elementlari kiritiladi. Bunda \(1 \leq a_i \leq 10^9\).

Keyingi \(q\) ta qatorining har biri navbatdagi so'rovni anglatadi.

So'rovlar shartda ko'rsatilgani kabi kiritiladi. Quyidagi shartlar doim qanoatlangan:

\(1 \leq x \leq y \leq 10^9, \ 1 \leq z \leq 10^9\)

\(1 \leq l \leq r \leq n, \ 1 \leq c \leq 10^9\)

\(1 \leq p \leq n\)

Chiquvchi ma'lumotlar:

3- yoki 4- turdagi so'rovlarning har biri uchun yangi qatorlarda, so'rovlarning natijasini chiqaring.

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

E. Red-Blue Tree

Xotira: 128 MB, Vaqt: 1000 ms
Masala

Dilshod va Qodir o'yin o'ynashmoqchi. Bu safar ularda \(n\) ta tugundan iborat bog'langan siklsiz graf, ya'ni daraxt bor. Daraxtning ba'zi tugunlari qizil, qolganlari esa ko'k rangga bo'yalgan.

No'malum usul orqali, o'yinni boshlash uchun boshlang'ich tugun tanlanadi va u yerga o'yin fishka qo'yiladi. Bundan so'ng o'yinchilar navbatma navbat quyidagi amallarni bajaradi:

  • O'yinchi hozirda fishka turgan tugunga ulangan hamda oldin bloklanmagan qirra tanlaydi. Agar qirrani tanlashning imkoni bo'lmasa, o'yin o'z yakuniga yetadi;
  • O'yinchi qirradan foydalanib, fishkani qo'shni tugunga olib qo'yishni yoki fishkani joyida qoldirishni tanlaydi;
  • Tanlangan qirra bloklanadi. E'tibor bering bloklangan qirralardan boshqa foydalanish mumkin emas. 

O'yin yakunida, Fishka qizil rangli tugunda qolsa, Dilshod yutadi, ko'k rangli tugunda qolsa, Qodir yutadi. O'yin doimo Dilshodning navbati bilan boshlanadi. Ikkala o'yinchi ham optimal o'ynaydi.

Hozirda Dilshod o'yin qaysi tugunlardan boshlansa, u g'olib bo'lishini bilmoqchi. Buni hisoblash uchun unga yordam bering.

Kiruvchi ma'lumotlar:

Birincha qatorda bitta butun son - \(n(1 \leq n \leq 10 ^ 5)\), daraxtdagi tugunlar soni kiritiladi.

Ikkinchi qatorda \(n\) ta butun sondan iborat, 1 va 2 sonlaridan massiv kiritiladi. Massivning \(i\)-elementi 1 bo'lsa, \(i\)-tugun ko'k rangga, aks olda \(i\)-tugun qizil rangga bo'yalganligi anglatiladi.

Keyingi \(n-1\) ta qatorning har birida qirralarni ifodalovchi \(u\) va \(v\) sonlari kiritiladi. 

Chiquvchi ma'lumotlar:

Birinchi qatorda bitta butun son, agar o'yin shu tugundan boshlansa, Dilshod yutadigan tugunlar sonini chiqaring. Bu son \(k\) bo'lsin.

Ikkinchi qatorda \(k\) ta butun son, shu tugunlarning raqamlarini chiqaring. Tugunlarni o'sish tartibida chiqarishingiz lozim.

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

F. Sandwich

Xotira: 128 MB, Vaqt: 1000 ms
Masala

Komiljon Sandwich yeyishni yoqtiradi, va bugun u \(N\) ta sandwich ta'tib ko'rmoqchi.

Komiljon Sandwich xarid qilayotgan do'konda chegirma davom etmoqda. Bir dona Sandwichning narxi \(30000\) so'm, lekin bir kishi tomonidan sotib olinadigan har sakkizinchi(8, 16, 24, 32, 40…) Sandwich, bor yo'g'i \(8000\) so'mga sotiladi.

Komiljon \(N\) ta sandwichning hammasini sotib olishi uchun, o'zi bilan kamida necha pul olib chiqish kerak.

Kiruvchi ma'lumotlar:

Birinchi qatorda bitta butun son - \(n(1 \leq n \leq 250)\) kiritiladi.

Chiquvchi ma'lumotlar:

Yagona qatorda bitta butun son, Komiljon o'zi bilan olib chiqishi kerak bo'lgan minimal pul miqdorini chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
90000
2
9
248000
3
28
774000

G. Musobaqa

Xotira: 128 MB, Vaqt: 1000 ms
Masala

Anvar navbatdagi dasturlash musobaqasida qatnashmoqda. Musobaqada ishtirokchilarga \(K\)ta masala berilgan. Anvar ulardan \(X\)tasini ishladi va jami \(Y\) daqiqa jarima oldi.

Buni qarangki, afsungar Moldevort unga yordam bera olishini aytdi. Moldevortda \(N\)ta masala afsuni hamda \(M\)ta jarima afsuni mavjud. \(i\)-masala afsuni \(A[i]\) tanga turadi va Anvarning ishlagan masalalari sonini bittaga orttirib qo'yadi (ortiqcha jarimasiz). \(j\)-jarima afsuni esa \(B[j]\) tanga turadi va Anvarning umumiy jarimasi miqdorini bittaga kamaytirib qo'yadi.

Anvarda jami \(C\) tanga bor. Anvar tangalarini optimal usulda ishlatsa, uning eng yaxshi natijasini (masala va jarima miqdorini) chiqaring.

E'tibor bering, ishtirokchilar orasida shubha uyg'onmasligi uchun, Anvar ishlagan masalalari soni \(K\)dan oshmasligi, uning jarimasi esa \(0\)dan kam bo'lmasligi kerak.

*Yakuniy natijalarda avval eng ko'p masala ishlaganlar, teng bo'lib qolgan taqdirda eng kam jarimaga ega ishtirokchilar bo'yicha aniqlanadi.

Kiruvchi ma'lumotlar:

Birinchi qatorda sizga \(K\)\(X\)\(Y\) va \(C\) butun sonlari beriladi. 

Ikkingchi qatorda \(N\) va \(M\) butun sonlari beriladi.

Uchinchi qatorda \(N\)ta butun son, \(A[1], A[2], ..., A[N]\) beriladi.

So'nggi qatorda \(M\)ta butun son, \(B[1], B[2], ..., B[M]\) beriladi.

Chegaralar

  • \(1 \le K \le 2 \cdot 10^5\)
  • \(0 \le X \le K\)
  • \(0 \le Y \le 10^9\)
  • \(0 \le C \le 10^{9}\)
  • \(1 \le N \le 2 \cdot 10^5\)
  • \(1 \le M \le 2 \cdot 10^5\)
  • \(1 \le A[i] \le 10^9\)
  • \(1 \le B[j] \le 10^9\)
Chiquvchi ma'lumotlar:

Yagona qatorda Anvarning ishlagan masalalari soni va jarimasini chiqaring!

Izoh:

Birinchi misolda Anvar uchinchi masala afsunini \(A[3] = 6\) tangaga, ikkinchi va uchinchi jarima afsunlarini \(B[2]+B[3]=2+1=3\) tangaga sotib olishi mumkin. Anvarning ishlagan masalalari soni bittaga ortadi va jarimasi ikkitaga kamayadi.

Ikkinchi misolda \(C=0\), demak hech qanday afsun sotib olib bo'lmaydi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
6 4 65 9
3 4
8 5 6
6 2 1 8
5 63
2
3 2 21 0
1 2
1
1 1
2 21

H. O'suvchi qism ketma-ketlik

Xotira: 256 MB, Vaqt: 2000 ms
Masala

Ahmadjonda uzunligi \(n\) bo'lgan \(p\) permutatsiya* bor. U \(1 \leq i_1 \leq i_2 \leq \dots i_k \leq n\) ketma-ketlikni sekin o'suvchi deydi, agarda har bir \(1 \leq j < k\) uchun \(p_{i_j} + 1 = p_{i_{j+1}}\) sharti bajarilsa.

Boshqa so'z bilan aytgancha, \(p_{i_1},p_{i_2},\dots p_{i_k}\) ketma-ketlik, \(x, x + 1, \dots x + k-1\) shaklidagi ketma ket sonlardan tashkil topsin.

Qodirjon Ahmadjonga \(q\) ta \((l, r)\) turdagi so'rovlarni beradi. Har so'rovga Ahmadjon \(p\) massivining \([l, r]\) oralig'idagi eng uzun sekin o'suvchi ketma-ketlikning uzunligini aytishi lozim. Ahmadjonga yordam bering.

*Permutatsiya bu 1 dan \(n\) gacha sonlarning har biri 1 martadan qatnashgan massivdir.

Kiruvchi ma'lumotlar:

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

Ikkinchi qatorda \(n\) ta butun son - \(p\) permutatsiya elementlari kiritiladi.

Uchunchi qatordan boshlab har so'rov uchun yangi qatorda \(l,r(1 \leq l \leq r \leq n)\) sonlari kiritiladi.

Chiquvchi ma'lumotlar:

Har bir so'rov uchun alohida qatorda, \([l, r]\) oraliqdagi eng uzun sekin o'suvchi ketma-ketlikning uzunligini toping.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
7 3
1 5 2 6 4 7 3
1 3
1 6
3 7
2
3
2
Kitob yaratilingan sana: 22-Nov-24 04:28