A. JShShIR
Xotira: 256 MB, Vaqt: 1000 msO‘zbekistonda JShShIR (PINFL) jismoniy shaxsni davlat axborot tizimlarida aniq ajratish uchun ishlatiladigan 14 xonali identifikatsiya raqamidir. U pasport, ID-karta, tug‘ilganlik guvohnomasi, soliq, bank, tibbiyot, pensiya, my.gov.uz kabi tizimlarda bir xil shaxsni bog‘lashda xizmat qiladi.
JShShIR 14 ta raqamdan iborat bo‘lib, umumiy ko‘rinishi quyidagicha bo‘linadi.
\(1\) raqam + \(6\) raqam + \(3\) raqam + \(3\) raqam + \(1\) raqam
1-pozitsiya, \(1\) ta raqam. Jins va tug‘ilgan asr indeksi.
\(1\) yoki \(2\) bo‘lsa, \(1800\)–\(1899\) yillarda tug‘ilgan
\(3\) yoki \(4\) bo‘lsa, \(1900\)–\(1999\) yillarda tug‘ilgan
\(5\) yoki \(6\) bo‘lsa, \(2000\)–\(2099\) yillarda tug‘ilgan
Bunda toq qiymat shaxsning erkak, juft qiymat ayol ekanligini bildiradi.
2–7-pozitsiyalar, \(6\) ta raqam. Tug‘ilgan sana \(ddmmyy\) formatida.
\(dd\) kun, \(01\) dan \(31\) gacha
\(mm\) oy, \(01\) dan \(12\) gacha
\(yy\) yilning oxirgi ikki raqami, \(00\) dan \(99\) gacha
8–10-pozitsiyalar, \(3\) ta raqam. Hudud kodi.
11–13-pozitsiyalar, \(3\) ta raqam. Tartib raqami.
14-pozitsiya, \(1\) ta raqam. Nazorat raqami.
Nazorat raqami 1–13-pozitsiyalardagi raqamlar asosida hisoblanadi va yozuvda xatoliklarni aniqlash uchun xizmat qiladi.
Sizga 14 xonali JShShIR beriladi. Undan shaxsning tug‘ilgan sanasini aniqlang.
Bitta qatorda 14 xonali JShShIR beriladi. U faqat raqamlardan iborat bo‘ladi.
Cheklovlar
JShShIR uzunligi \(14\).
1-pozitsiya qiymati \(1\) dan \(6\) gacha bo‘ladi.
JShShIR qiymati to'g'ri kiritilganligi kafolatlanadi.
Subtasklar
- Subtask 1. Namunaviy testlar (15 ball)
- Subtask 2. Qo'shimcha chegaralarsiz (85 ball)
Bitta qatorda tug‘ilgan sanani \(dd.mm.yyyy\) formatida chop eting.
1-test uchun:
1-pozitsiya \(3\), demak asr \(1900\)–\(1999\).
2–7-pozitsiya \(121063\), demak \(dd=12\), \(mm=10\), \(yy=63\). Yil \(1963\).
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
31210632040244 |
12.10.1963 |
| 2 |
20801028866464 |
08.01.1802 |
| 3 |
51109017773431 |
11.09.2001 |
B. A + B multiple
Xotira: 256 MB, Vaqt: 2000 msShohjahon va Arslonbek informatika darsida massivlar mavzusini birga o'rganishdi. Ular massiv ichidan sonni qidirish, uni tartibga keltirish kabi algoritmlarni o'zlashtirishdi. Mavzuni to'liq tushunganligini tekshirish uchun Shavkat ustoz ularga quyidagicha topshiriq berdi:
- Avvalo doskaga, bir-biridan farqli bo'lgan \(N\) ta butun sonni ketma-ket yozdi.
- Keyin bolalardan birma-bir quyidagicha savol so'radi: \(a\) va \(b\) butun sonlari berilgan bo'lsa. \(a + b\) ning qiymati doskada yozilgan ketma-ketlikning qaysi o'rnida ekanligini topish zarur.
Bolalarga bu ishni tezlikda topishiga yordam bering.
Kirish faylining birinchi qatorida ikkita butun son \(N\) va \(Q\) - ketma-ketlik uzunligi va so'rovlar soni beriladi.
Keyingi qatorda \(N\) ta butun son - Shavkat ustoz doskaga ketma-ketlik elementlari - \( c_i\) kiritiladi.
Keyingi \(Q\) ta qatorning har birida ikkitadan butun son - \(a_j\) va \(b_j\) sonlari probel bilan ajratilgan holatda kiritiladi.
Chegaralar:
\(1 \le N, Q \le 2 \times 10^5\)
\(-10^9 \le c_i, a_j, b_j \le 10^9\)
\(c\) massivdagi barcha elementlar bir biridan farqli ekanligi kafolatlanadi.
Subtasklar:
- Subtask 1. \(Q = 1\) (14 ball)
- Subtask 2. \(N \times Q \le 2 \times 10^5\) (17 ball)
- Subtask 3. \(0 \le c_i, a_j, b_j \le 10^6\) (30 ball)
- Subtask 4. Qo'shimcha chegaralarsiz. (39 ball)
Har bir so'rov uchun, alohida qatorda agar ketma-ketlikda ushbu qiymat mavjud bo'lsa uning pozitsiyasini, aks holda \(-1\) ni chop eting. Bunda pozitsiyalar 0 dan boshlanadi.
Massiv \(c\): \([−2,7,0,4,10]\). Indekslar 0 dan boshlanadi.
- \(a=1,\ b=3\). \(a+b=4\). \(4\) massivda \(3\)-o‘rinda turibdi. Javob \(3\).
- \(a=-1,\ b=-1\). \(a+b=-2\). \(-2\) massivda \(0\)-o‘rinda turibdi. Javob \(0\).
- \(a=10,\ b=0\). \(a+b=10\). \(10\) massivda \(4\)-o‘rinda turibdi. Javob \(4\).
- \(a=6,\ b=3\). \(a+b=9\). \(9\) massivda mavjud emas. Shuning uchun javob \(-1\).
- \(a=4,\ b=3\). \(a+b=7\). \(7\) massivda \(1\)-o‘rinda turibdi. Javob \(1\).
- \(a=5,\ b=-3\). \(a+b=2\). \(-2\) massivda mavjud emas. Shuning uchun javob \(-1\).
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
5 6 -2 7 0 4 10 1 3 -1 -1 10 0 6 3 4 3 5 -3 |
3 0 4 -1 1 -1 |
C. Qiziqarli bo'linish!
Xotira: 256 MB, Vaqt: 1000 msMatematik detektivga tayyormisiz? Sizda uzunligi \(n\) ga teng va \(\text{natural}\) sonlardan tashkil topgan sirli massiv bor. Sizga \(q\) ta sirli so'rovlar beriladi. Har bir so'rov quyidagicha:
- \(l\) va \(r\) indekslari beriladi. Siz ushbu oraliqni \([l,\ r]\) ikkiga bo'lib beruvchi \(k\) (\(l\leq k < r\)) shunday nuqtani topingki, \(\left|\sum_{i=l}^{k} a_i - \sum_{i=k+1}^{r} a_i\right|\) (ya'ni, bo'lingan ikkala qismining yig'indisi farqi) minimal bo'lsin. Agar bunday \(k\) bir nechta bo'lsa, eng kichik \(k\)ni tanlang!
Har bir javob oddiy emas — eng aniq va muvozanatli bo'linishni topishga harakat qiling!
Birinchi qatorda \(1 \le n,\ q \le 10^5\) sonlari kiritiladi
Ikkinchi qatorda massiv kiritiladi \(1 \le a_i \le 10^9\)
Keyingi q ta qatorda \(1 \le l < r \le n\) sonlari kiritiladi.
Subtasklar:
- \(Subtask\ 1.\ \text{Massivdagi har bir element bir xil, ya'ni}\ a_i = \ \text{const}\ (11\ \text{ball})\)
- \(Subtask\ 2.\ n,\ q\ (n,\ q \le 100)\ (12\ \text{ball})\)
- \(Subtask\ 3.\ n,\ q\ (n,\ q \le 5000)\ (23\ \text{ball})\)
- \(Subtask\ 4.\ \text{To'liq yechim}\ (54\ \text{ball})\)
Har bir so'rov uchun masala yechimini chiqaring
Eslatma!! python dasturlash tilidan foydalanuvchilar pypy compilatoridan foydalanishni maslahat beramiz
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
5 4 1 2 3 4 5 1 5 2 5 1 3 3 4 |
3 3 2 3 |
| 2 |
6 3 10 1 1 1 1 10 1 6 1 3 4 6 |
3 1 5 |
D. Eng katta tub son
Xotira: 256 MB, Vaqt: 1000 msTub son — bu aynan 2 ta natural bo‘luvchiga ega bo‘lgan son.
Biror sonni p qismga kesish deganda, uning yozuvini chapdan o‘ngga qarab p ta bo‘lakka ajratish tushuniladi. Har bir bo‘lakda kamida 1 ta raqam bo‘lishi kerak. Bo‘laklarni ketma-ket yozib qo‘ysak, boshlang‘ich son qayta hosil bo‘lishi shart.
Masalan, 12045 sonini 2 qismga kesish:
1va204512va045120va451204va5
3 qismga kesish:
1,2,0451,20,451,204,512,0,4512,04,5120,4,5
Eslatma: bo‘laklar oldida
0bo‘lishi mumkin (045,04kabi). Bu bo‘laklar son sifatida qaraladi (masalan045= 45).
Sizga \(N\) ta natural sondan iborat \(a\) massiv va \(K\) soni beriladi.
Har bir berilgan sonni eng ko'pi bilan \(K\) ta bo‘lakka bo'lishingiz mumkin.
Mumkin bo'lgan barcha kesishlar ichida hosil bo'ladigan eng katta tub sonni toping.
Agar hech qanday tub son hosil bo‘lmasa, 0 chiqaring.
Subtasklar
- Subtask 1 (9 ball): \(K = 1\) \(a[i] \le 1000\)
- Subtask 2 (20 ball): \(K = 1\)
- Subtask 3 (30 ball): \(K \le 2\)
- Subtask 4 (41 ball): Qo'shimcha cheklovlarsiz.
Birinchi qatorda ikkita butun son - \(N, K\) kiritiladi. \((1\le N\le 100, 1\le K\le 10)\)
Ikkinchi qatorda \(N\) ta butun sondan iborat \(a\) massiv elementlari kiritiladi. \((1 \le i \le N, 0 \le a[i] \le 10^9)\)
Bitta son chiqaring — hosil bo‘lishi mumkin bo‘lgan eng katta tub son (agar yo‘q bo‘lsa 0).
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
2 2 55 1101 |
101 |
E. Askiya
Xotira: 256 MB, Vaqt: 1000 msAndijonda askiya san'ati juda rivojlangan. Bahor mavsumida, ayniqsa Navro'z bayrami arafasida insonlar to'planib har kuni askiya aytishadi.
Andijonda \(2 \times N + 1\) ta askiyachi bor va ularning har biri o'z askiyasiga ega. Ular \(0\) dan \(2 \times N\) gacha raqamlangan. Askiyachilar \(K\) kun davomida har kuni aylana stol atrofida o'tirishadi. Har bir askiyachi o‘zining chap va o‘ng yonidagi qo‘shnisi bilan askiya aytishadi.
Agar ikki askiyachi oldingi kunlarning birortasida yonma yon qo‘shni bo‘lib o‘tirgan bo‘lsa, keyingi kunlarda yana yonma yon o‘tirsa, askiya ularga qiziq bo‘lmaydi va ular yig‘ilishni tark etadi. Siz \(K\) kun uchun joylashuvlarni shunday tuzishingiz kerakki, hech qaysi juftlik \(K\) kun ichida ikki marta qo‘shni bo‘lib qolmasin.
Berilgan chegaralarga asoslangan holda yechim har doim mavjud ekanligini isbotlash mumkin.
Yagona qatorda ikkita butun son \(N\) va \(K\) kiritiladi.
Chegaralar
\(1 \le K \le N \le 500\)
Subtasklar
- Subtask 1. \(K = 1\) (3 ball)
- Subtask 2. \(K = 2\) (9 ball)
- Subtask 3. \(N \le 5\) (17 ball)
- Subtask 4. \(2 \times K \le N\) (22 ball)
- Subtask 5. \(2 \times N + 1\) tub son (24 ball)
- Subtask 6. Qo'shimcha chegaralarsiz (25 ball)
\(K\) ta qatordan iborat chiqish chop eting.
Har bir qatorda \(2 \times N+1\) ta butun son bo‘lsin. Bu sonlar \(0\) dan \(2×N\) gacha bo‘lgan barcha raqamlar bo‘lishi kerak va shu kun uchun stol atrofida soat strelkasi bo‘yicha joylashuvni bildiradi.
Aylana stol bo‘lgani uchun, har bir qatorda birinchi va oxirgi yozilgan askiyachilar ham qo‘shni hisoblanadi.
Bir necha xil yechim mavjud bo'lsa, istalganini chop etishingiz mumkin.
1-kun qo‘shni juftliklar: (0,1), (1,2), (2,3), (3,4), (4,0)
2-kun qo‘shni juftliklar: (0,2), (2,4), (4,1), (1,3), (3,0)
Hech bir juftlik takrorlanmagan.
| # | INPUT.TXT | OUTPUT.TXT |
|---|---|---|
| 1 |
2 2 |
0 1 2 3 4 0 2 4 1 3 |