A. Sehrgarning Kod Lentalari
Xotira: 256 MB, Vaqt: 1000 msAuron ismli sehrgar qadimiy qo‘lyozmalardan topilgan maxfiy kodlarni saqlaydi. Har bir kod qog‘oz lentaga yozilgan bo‘lib, unda kichik ingliz harflari ketma-ket joylashgan.
Sehrgar qo‘lida \(N\) ta kod lentasi bor.
U barcha lentalarni istalgan tartibda birlashtirib, bitta uzun kod hosil qilmoqchi. Har bir lentani ulashdan oldin uni:
- o‘z holicha qoldirish,
- yoki butunlay teskari aylantirish (
reverse)
mumkin.
So‘ng hosil bo‘lgan uzun kodning ikki uchi tutashtirilib, yopiq halqa hosil qilinadi.
Halqaning kuchi unda ketma-ket joylashgan bir xil harflarning eng uzun guruhi bilan aniqlanadi. Halqa yopiq bo‘lgani sababli, kodning oxirgi va birinchi harflari ham qo‘shni hisoblanadi.
Sehrgarga halqaning eng katta kuchini topishda yordam bering, ketma-ket keladigan bir xil harflarning maksimal mumkin bo‘lgan sonini aniqlang.
Kirish faylining dastlabki satrida bitta butun son, \(N(2 \le N)\) - lentalar soni kiritiladi.
Keyingi \(N\) ta satrning har birida bitta lentaning harflari ketma-ketligi.
| № | Chegaralar | Beriladigan ball |
| 1 | \(N \le 4\) \(S \le 20\) | 7 |
| 2 | \(N \le 50\) \(S \le 100\) | 14 |
| 3 | \(N \le 700\) \(S \le 1 \ 400\) | 19 |
| 4 | \(N \le 100\ 000\) \(S \le 200 \ 000\) | 30 |
| 5 | \(N \le 2 \ 000 \ 000\) \(S \le 4 \ 000 \ 000\) | 30 |
Bu yerda \(S\) barcha satr uzunliklari yig'indisini anglatadi.
Sehrgarga halqaning eng katta kuchini topishda yordam bering, ketma-ket keladigan bir xil harflarning maksimal mumkin bo‘lgan sonini chiqaring.
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
2 ab cb |
2 |
| 2 |
3 abbc cbbb abb |
5 |
| 3 |
4 abbba aaaa aaa aa |
11 |
B. O‘rgimchak to‘ri va pashshalar
Xotira: 256 MB, Vaqt: 2000 msO‘rgimchak ulkan to‘rni qurib qo‘ygan. Bu to‘r \(N \times M\) kataklardan iborat maydon shaklida tasvirlanadi. Har bir katak — o‘rgimchak to‘rining tuguni.
To‘r ichida K ta pashsha ilinib qolgan. Har bir pashsha aynan bitta tugunda joylashgan.
O‘rgimchak juda ayyor: u o‘tirgan joyidan turib, bitta tugunni “markaz” sifatida tanlaydi va barcha pashshalarni shu nuqtaga tortib keladi. Pashshani to‘r bo‘ylab faqat gorizontal yoki vertikal harakatlantira oladi.
Har bir pashshaning “qarshiligi” uning bosib o‘tgan yo‘li uzunligiga teng, ya’ni Manhattan masofasi bilan o‘lchanadi.
O‘rgimchak shunday \((x, y)\) tugunni tanlashi kerakki, barcha pashshalarning umumiy qarshiligi minimal bo‘lsin:
\(\sum (|X_i - x| + |Y_i - y|)\)
Vaqt o‘tishi bilan to‘r o‘zgara boshlaydi. Q ta hodisa sodir bo‘ladi.
Har bir hodisada (X, Y) tugun bilan bog‘liq voqea bo‘ladi:
- agar bu tugunda pashsha bo‘lsa — u to‘rdan chiqib ketadi
- agar yo‘q bo‘lsa — yangi pashsha shu tugunga ilinadi
Sizdan talab qilinadi, har bir holat uchun:
- o‘rgimchak tanlaydigan optimal tugun \((x, y)\)
- minimal umumiy qarshilik
Birinchi qatorda uchta butun son \(N,M,K(1≤N,M,K≤200000)\) beriladi.
Keyingi \(K\) qatorda har birida ikkita butun son \(X_i, Y_i \quad (1 \le X_i \le N,\; 1 \le Y_i \le M)\) beriladi.
Bu koordinatalar — o‘rgimchak to‘rida ilingan pashshalar joylashgan tugunlar. Eslatma: bir koordinatada faqat 1 ta pashsha bo'lishi mumkin.
Keyingi qatorda \(Q \quad (0 \le Q \le 200000)\) - so‘rovlar soni beriladi.
Keyingi \(Q\) qatorda har bir so‘rov uchun ikkita butun son \((X, Y)\) beriladi, bu amal quyidagini bildiradi:
- agar \((X, Y)\) da pashsha bo‘lsa — u olib tashlanadi
- agar yo‘q bo‘lsa — yangi pashsha shu joyga qo‘shiladi
| № | Qo'shimcha cheklov | Beriladigan ball |
| 1 | Simple | 3 |
| 2 | \(N, M \le 100\), \(Q=0\) | 12 |
| 3 | \(N=1\), \(M,K \le 1000\), \(Q=0\) | 9 |
| 4 | \(N=1\), \(Q=0\) | 12 |
| 5 | \(N, M, K \le 1000\), \(Q=0\) | 12 |
| 6 | \(N,M,K,Q \le 1000\) | 12 |
| 7 | \(Q=0\) | 9 |
| 8 | - | 31 |
Har bir holat (boshlang‘ich holat ham, har bir o‘zgarishdan keyin ham) uchun quyidagilarni chiqaring:
- o‘rgimchak tanlaydigan optimal tugun \((x, y)\)
- minimal umumiy qarshilik
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
3 3 3 1 1 2 3 3 1 0 |
2 1 4 |
| 2 |
5 5 4 2 3 1 5 4 4 5 1 5 1 5 2 3 5 1 4 4 3 3 |
2 3 11 4 3 6 4 1 4 4 4 0 2 3 0 3 3 0 |
C. Buyuk Ipak Yo‘lidagi Karvon
Xotira: 256 MB, Vaqt: 1000 msBuyuk Ipak Yoʻli bo‘ylab har yili minglab savdogarlar uzoq safarga otlanishardi. Ular orasida eng mashhuri — dono va tajribali karvonboshi Mirzo edi.
Mirzoning karvonida \(N\) ta arava ketma-ket joylashgan bo‘lib, har bir aravaga \(1\) dan \(N\) gacha bo‘lgan sonlardan bittasi yozilgan. Har bir son aynan bir marta uchraydi. Demak, aravalardagi sonlar \(1\) dan \(N\) gacha bo‘lgan sonlarning permutatsiyasini tashkil qiladi.
Karvonning boshida, o‘rtasida va oxirida harakatlanishning mashaqqatlari turlicha bo‘lgani sababli, Mirzo vaqti-vaqti bilan karvonning ma’lum bir qismini qayta tartiblab turardi, ya'ni u karvonning ma’lum bir qismini tanlab, o‘sha qism ichidagi aravalarni aylantirib turardi:
- ba’zan qism boshidagi aravalarni uning oxiriga,
- ba’zan esa qism oxiridagi aravalarni uning boshiga o‘tkazardi.
Mirzo bajargan buyruqlari ketma-ketligini sizga taqdim etadi, siz uning savollariga javob bering.
Sizga \(Q\) ta buyruq beriladi. Har bir buyruq quyidagi uch turdan biri bo‘ladi:
- \(L \ a \ b \ k\) - \(a\)- tartibli aravadan \(b\)- tartibli aravagacha bo‘lgan qismni chapga \(k\) marta aylantirish, ya'ni \(k\) marta qism boshidagi element qism oxiriga ko‘chiriladi.
- \(R \ a \ b \ k\) - \(a\)- tartibli aravadan \(b\)- tartibli aravagacha bo‘lgan qismni o'ngga \(k\) marta aylantirish, ya'ni \(k\) marta qism oxiridagi element qism boshiga ko‘chiriladi.
- \(P \ x\) - Hozirgi holatda \(x\)-tartibli aravada qaysi son yozilganini aniqlang.
Bu yerda:
- \(1 \le a < b \le N\)
- \(1 \le k \le b-a+1\)
- \(1 \le x \le N\)
Kirish faylining dastlabki satrida \(N\) va \(Q\) natural sonlari kiritiladi.
Keyingi \(Q\) ta satrning har birida yuqorida ko'rsatilgan uch turdagi so'rovdan biri kiritiladi.
Subtasklar
| № | Chegaralar | Cheklovlar | Beriladigan ball |
| 1 | \(1 \le N \le 10^3\) \(1 \le Q \le 10^3\) | Barcha \(P\) so'rovlari barcha aylantirishlardan keyin keladi. | 9 |
| 2 | \(1 \le N \le 10^5\) \(1 \le Q \le 10^3\) | Barcha \(P\) so'rovlari barcha aylantirishlardan keyin keladi. | 9 |
| 3 | \(1 \le N \le 10^5\) \(1 \le Q \le 10^5\) | Barcha \(P\) so'rovlari barcha aylantirishlardan keyin keladi. | 49 |
| 4 | \(1 \le N \le 10^5\) \(1 \le Q \le 10^5\) | - | 33 |
Har bir \(P\) turidagi so'rov uchun alohida qatorda \(x\) - tartibli aravada yozilgan sonni chiqaring.
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
7 5 7 5 3 1 4 2 6 L 1 3 2 R 2 4 1 P 1 P 4 P 7 |
3 5 6 |
| 2 |
5 5 3 5 4 2 1 R 3 5 1 R 1 4 1 P 1 R 1 5 4 P 1 |
4 3 |
D. Mining Serverlari
Xotira: 256 MB, Vaqt: 1000 msKatta mining fermada n ta server mavjud. Har bir serverning boshlang‘ich yuklamasi 0 ga teng.
Har bir serverning ishlashida muhim texnik xususiyat bor, ya'ni server H dan katta yuklamani saqlab tura olmaydi. Agar yuklama H dan oshsa, u avtomatik ravishda yuklamani H ga teng qilib, ortiqcha yuklamani tashlab yuboradi.
Ferma boshqaruvchilari serverlarni umumiy bitta tizimga bo'ysundirgan holda ishlashadi, va tizim orqali serverlarga ketma-ket jami M ta operatsiyani amalga oshirishadi. Har bir operatsiya quyidagilardan ixtiyoriy biri bo'lishi mumkin:
-
N X
Tizim barcha serverlarga bir xil yuklama qo‘shadi:
- har bir serverning yuklamasi X ga oshadi
- agar natija H dan oshsa → u avtomatik ravishda H ga teng bo‘lib qoladi L X
Chap tomondan birinchi X ta server qayta ishga tushiriladi (reset) natijada ularning yuklamasi 0 ga tushadi.D X
O‘ng tomondan birinchi X ta server qayta ishga tushiriladi (reset) natijada ularning yuklamasi 0 ga tushadi.S X
Server xonasidagi shovqinni vaqtinchalik kamaytirish maqsadida yuklamasi X dan katta bo'lgan serverlarning X dan ortiqcha qismi olib tashlanadi, ya'ni:
- agar server yuklamasi X dan katta bo‘lsa → u X darajasiga tushiriladi
- aks holda o‘zgarmaydiZ
Monitoring so‘rovi. Ya'ni barcha serverlar yuklamalarining yig‘indisini chiqaring.
- 1-qator: n, H, M
- n — serverlar soni (1 ≤ N ≤ 10⁹)
- H — texnik maksimal yuklama (1 ≤ H ≤ 10⁶)
- M — operatsiyalar soni (1 ≤ M ≤ 10⁶)
- Keyingi M qatorda operatsiyalar beriladi.
- N va S operatsiyalarida (1 ≤ X ≤ H)
- L va D operatsiyalarida (1 ≤ X ≤ n)
Subtasklar:
| № | Chegaralar | Cheklovlar | Beriladigan ball |
| 1 | \(1 \le n \le 1000\), \(1 \le M \le 1000\) | - | 10 |
| 2 | \(1 \le n \le 10^9\), \(1 \le M \le 1000\) | - | 10 |
| 3 | \(1 \le n \le 10^5\), \(1 \le M \le 10^5\) | S turidagi so'rov yo'q, hamda Serverlarga beriladigan yuklama hech qachon H dan oshmaydi. | 10 |
| 4 | \(1 \le n \le 10^9\), \(1 \le M \le 10^5\) | S turidagi so'rov yo'q, hamda Serverlarga beriladigan yuklama hech qachon H dan oshmaydi. | 20 |
| 5 | \(1 \le n \le 10^5\), \(1 \le M \le 10^6\) | D turidagi so'rov yo'q. | 10 |
| 6 | \(1 \le n \le 10^9\), \(1 \le M \le 10^6\) | D turidagi so'rov yo'q. | 20 |
| 7 | \(1 \le n \le 10^9\), \(1 \le M \le 10^6\) | - | 20 |
Har bir Z uchun:
- barcha serverlar yuklamalari yig‘indisini chiqaring
.
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
10 1000 5 Z N 10 Z L 3 Z |
0 100 70 |
| 2 |
10 1000 10 N 10 L 5 Z N 10 L 3 Z D 2 Z S 1 Z |
50 120 80 5 |
| 3 |
7 10 10 N 9 Z N 9 Z N 5 Z S 1 Z N 10 Z |
63 70 70 7 70 |