A. Yoqimli raqam
Xotira: 32 MB, Vaqt: 1000 msDiyorbek mashinalarni katta ishqibozi. U har doim mashinalarga qarab ularni davlat raqamlarini eslab qolishga urinadi. U mashina raqami faqat 5 va 7 dan tashkil topgan bo'lsa uni yoqimli deb hisoblaydi.
Endi uni bir savol qiziqtirib qoldi. 1 dan \(n\) gacha nechta yoqimli son mavjud.
Kirish faylida \(n\) soni beriladi. \(1 \le n \le 10^9\)
Chiqish faylida esa 1 dan \(n\) gacha natural sonlar orasida nechta yoqimli son mavjudligini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
29 |
2 |
2 |
55 |
3 |
3 |
32 |
2 |
B. Daraxtdagi LIS
Xotira: 64 MB, Vaqt: 1000 msN ta tugundan tashkil topgan daraxt mavjud. \(i-\)yo'l \(u_i\) va \(v_i\) tugunlarni o'zaro bog'laydi va qiymati \(a_i\) ga teng. 1 dan N gacha bo'lgan har bir k butun soni uchun quyidagini aniqlang:
- Yo'llarga yozilgan butun sonlarni 1-yo'ldan k-yo'lgacha bo'lgan eng qisqa yo'l bo'ylab ular paydo bo'ladigan tartibda qatorlab ketma-ketlik hosil qilamiz. Ushbu ketma-ketlikning eng uzun ortib boruvchi pastki ketma-ketligi (LIS)ining uzunligini toping.
Bu yerda uzunligi \(L\) boʻlgan \(A\) ketma-ketlikning eng uzun ortib boruvchi pastki ketma-ketligi \(M\) ning mumkin boʻlgan eng katta qiymatiga ega boʻlgan \(A_{i_1}\) ,\(A_{i_2}\) ,...,\(A_{i_M}\) qatori boʻlib, \(1≤i_1 <i_2 <...<i_M ≤L\) va \(A_{i_1} < A_{i_2} <...< A_{i_M}\) bo'ladi.
Birinchi qatorda N butun soni kiritiladi.
Keyingi qatorda N ta butun son a massiv elementlari kiritiladi
Keyingi N-1 ta qatorning har birida 2 tadan butun son \(u_i\) va \(v_i\) kiritiladi.
- \(2 \le N \le 2*10^5\)
- \(1 \le a_i \le 10^9\)
- \(1 \le u_i, v_i \le N\)
- \(u_i \neq v_i\)
- Graf daraxt ekanligi kafolatlanadi.
- Barcha qiymatlar butun sonlardir.
N qatorni chop eting. k-chi qator, 1-yo'ldan k-yo'lgacha bo'lgan eng qisqa yo'ldan olingan ketma-ketlikning eng uzun o'sib boruvchi pastki ketma-ketligi uzunligini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
10 1 2 5 3 4 6 7 3 2 4 1 2 2 3 3 4 4 5 3 6 6 7 1 8 8 9 9 10 |
1 2 3 3 4 4 5 2 2 3 |
C. Avtobus chiptachisi Shermat
Xotira: 32 MB, Vaqt: 1000 msDasturlashdan bo'sh vaqtlarida Shermat avtobusda chipta sotishga amakisiga yordam beradi. Bu jarayon aslida juda oson, ammo, naqt pulda yo'lkirani to'laydiganlar uni doim qiynab keladi. Chunki ularga qaytim qaytarish juda qiyin. Yo'lkira narxi aslida 2000 so'm. Yo'lovchilar esa odatda 5000 so'mlik yoki 2000 so'mlik kupyuralarda to'lashadi. 2000 so'm to'laydiganlarda muammo yo'q ammo 5000 to'laydiganlarga qaytim topib berish muammoroq. Shu uchun Shermat ularni jazolash maqsadida ularga 2000 so'm qaytim qaytaradi.
Shermat statistika va ehtimollilik fanlarini yoqtiradi. U kunlik kuzatishlari natijasida shunday xulosaga keldi. Bugun avtobusga \(n\) ta 2000 so'mlik kupyurada to'laydigan va \(m\) ta 5000 so'mlik kupyurada to'laydigan yo'laovchilar chiqishi kutilmoqda. Hamda safar boshida Shermatda \(k\) ta 2000 so'mlik kupyuralar bor qaytim qaytarish uchun. Endi sizdan butun kun davomida qaytim qaytarish bilan muammo bo'lmasligi ehtimolliligini aniqlashda yordam so'ramoqda. Bunda har bir yo'lovchining avtobusga chiqish tartibi teng ehtimollilikka ega.
Kirish faylida 3 ta butun sonlar : \(n\), \(m\), \(k\) beriladi. (\(0 \le n, m \le 10^5, 0 \le k \le 10\))
Chiqish faylida kun davomida qaytim qaytarish bilan muammo bo'lmaslik ehtimolliligini chop eting. Bunda absolut xatolik 0.0001 dan oshmasligi kerak.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 3 1 |
0.857143 |
2 |
0 5 5 |
1 |
3 |
0 1 0 |
0 |
D. Xor va summa
Xotira: 32 MB, Vaqt: 1000 msSizga L soni berilgan. Quyidagi shartlarni qanoatlantiradigan juftliklar sonini hisoblang:
- \(a + b \le L\)
- \(a + b = a\ XOR\ b\)
Kirish faylida L sonining binar ko'rinishi beriladi.
\(1 \le L < 2^{100\ 001}\)
Javob juda katta bo'lishi mumkin, shuning uchun javobni \(10^9+7\) ga bo'lgandagi qoldiqni chop eting.
1-test uchun juftliklar
(0,0), (0,1), (0,2), (1,0) , (2,0).
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
10 |
5 |
2 |
1011 |
45 |
E. To'g'ri chiziq
Xotira: 32 MB, Vaqt: 1000 msRustam yaqinda maktabda to'g'ri chiziqlar mavzusini o'rgandi. Endi uni bir savol qiynamoqda. Bir nechta nuqtalar berilgan ular bir to'g'ri chiziqda yotadimi yoki yo'q?
Birinchi qatorda mos ravishda nuqtalarning \(x\) o'qi bo'yicha koordinatalari, ikkinchi qatorda esa \(y\) o'qi bo'yicha koordinatalari beriladi. Bunda nuqtalar soni 1000 dan oshmaydi.
Koordinatalar butun sonlarda ifodalanib mutloq qiymati 10000 dan oshmaydi.
Agar nuqtalar bir to'g'ri chiziqda yotsa “HA” aks holda esa “YO'Q” so'zlarini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 2 3 4 5 6 2 3 4 5 6 7 |
HA |
2 |
1 2 3 4 5 7 1 2 4 5 6 7 |
YO'Q |
F. Chigirtka
Xotira: 32 MB, Vaqt: 1000 msChigirtka bir sakradi, ikki sakradi, uchinchisida qo'lga tushdi.
Shohruh bir chigirtkani ushlab oldi. Endi uni mehmon qilmoqchi. Dastlab u chigirtkani \(n\times m\) o'chamdagi qutiga joylashtirmoqchi. U chigirtkani joylashtirishdan oldin har bir yacheykalarga bittadan chigirtka yoqtiradigan hashorat joylashtirdi. Chigirtka bir sakrashda verikal yoki gorizantal yo'nalishda aynan \(d\) katakka sakrashi mumkin. Faqat birgina sharti u qutidan chiqib keta olmaydi. Endi sizdan savol chigirtka eng ko'p hashorat yeya olishi uchun dastlabki joylashuvi bo'lishi mumkin bo'lgan yacheykalar sonini toping.
Bir qatorda 3 ta natural sonlar \(n, m, d (1\le n, m, d \le 10^6)\)
Mos ravishda doska o'lchamlari va chigirtka sakray oladigan kataklar soni.
Chigirtka eng ko'p hashoratlarga ega chiqishi uchun boshlashi mumkin bo'lgan yacheykalar soni. U faqat o'zi sakrab borgan yacheykadagi hashoratlarni yeya oladi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 3 1000000 |
6 |
2 |
3 3 2 |
4 |
3 |
1 2 3 |
2 |
G. Orollar urushi
Xotira: 32 MB, Vaqt: 1000 msN ta shahar va ularni bog'lovchi N-1 ta ikki tomonlama ko'prik mavjud. \(1 \le i \le N-1\) uchun \(i-\) tugun \(i\) va \(i+1\) shaharlarni o'zaro bog'laydi. Ba'zi orollar orasida nizo kelib chiqdi va endi shu orollarning biridan ikkinchisiga borish imkonsiz bo'lishi lozim. Buning uchun qaysidir ko'prikni buzish mumkin. Barcha nizolarni hal qilish uchun kamida nechta ko'prikni buzish talab etiladi.
Birinchi qatorda N va M soni kiritiladi - orollar soni va nizolar soni.
Keyingi M ta qatorning har birida \(u_i\) va \(v_i\) sonlari kiritiladi. Bu \(u_i\) va \(v_i\) shahar orasida nizo kelib chiqqanini anglatadi.
\(2 \le N \le 10^5\)
\(1 \le M \le 10^5\)
\(1 \le u_i, v_i \le 10^5\)
\(u_i \neq v_i\)
Barcha \((u_i, v_i)\) bir-biridan farqli.
Barcha nizolarni hal qilish uchun buzilishi kerak bo'lgan ko'priklar sonini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 2 1 4 2 5 |
1 |
2 |
9 5 1 8 2 7 3 5 4 6 7 9 |
2 |