A. Xossani saqlang

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Sirojiddinda ikkita: \(a\) va \(b(a \le b)\) musbat butun sonlar bor. Bu sonlar unga yoqmay qoldi. Shu sababli u sonlarni boshqa musbat butun \(c\) va \(d(c\le d)\) sonlariga almashtirmoqchi. Faqat u quyidagi xossalardan biri almashmay qolishini istaydi.

  1. + xossasi. \(a+b=c+d\) bo‘lishi kerak.
  2. – xossasi.  \(b-a=d-c\) bo‘lishi kerak.
  3. \(*\) xossasi. \(a*b=c*d\) bo‘lishi kerak.
  4. / xossasi. \(\frac {b}{a}=\frac{d}{c}\) bo‘lishi kerak.

Unga istalgan \(c\) va \(d\) musbat butun sonlarini topishga yordam bering.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida ikkita butun son - \(a,b(2 \le a \le b \le 1000)\) hamda \((+,-,*,/)\) belgilaridan biri kiritiladi.

Chiquvchi ma'lumotlar:

Shartlarni qanoatlantiruvchi istalgan \((c,d) \ne (a,b)\) bo‘lgan \(c\) va \(d(c \le d \le 10^6)\) musbat sonlarni chop eting. Bunda \(c\) birinchi chop etilishi kerak.

Izoh:

.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2 3 *
1 6
2
8 9 +
4 13
3
7 9 -
29 31
4
9 12 /
60 80

B. Viktorinadagi vazifa

Xotira: 32 MB, Vaqt: 1250 ms
Masala

Yaqin kunlarda Sunnatbekning maktabida viktorina uyishtirilishi ma’lum bo‘ldi. Viktorina har xil qiyinchilikdagi turli xil savollar va vazifalardan iborat. Viktorinadagi eng so‘nggi vazifa sharti unga ma’lum bo‘lib qoldi.

Sunnatbek quyidagi shartlarni qanoatlantiruvchi istalgan \(X\) natural sonini topishi kerak ekan:

  • sonning uzunligi \(N\) ga teng va u \(0\) raqami bilan boshlanmaydi;
  • \(\lfloor \frac{X}{10^{N-i}} \rfloor\) soni \(A_i(1 \le i \le N)\) soniga qoldiqsiz bo‘linishi lozim. Bunda \(1 \le A_i \le 10\).\(\lfloor y \rfloor\) - y sonidan kichik yoki teng eng katta butun sondir. Misol uchun: \(\lfloor 2.6 \rfloor = 2\), \(\lfloor -3.2 \rfloor = -4\) hamda \(\lfloor 7 \rfloor = 7\).

Viktorina boshlanishiga vaqt hali bor, lekin Sunnatbek istalgan \(N\) soni va \(A\) massivi uchun shartni qanoatlantiruvchi biror bir \(X\) sonini topuvchi dastur yaratib qo‘ymoqchi.

Buni u osonlikcha uddaladi. Siz ham shunday dastur yaratib ko‘ring.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida bitta butun son - \(N(1 \le N \le 2*10^5)\) kiritiladi.

Keyingi qatorda \(N\) ta butun son - \(A\) massiv elementlari kiritiladi.

\(A_1 \ne 10\) ekanligini kafolatlanadi.

Chiquvchi ma'lumotlar:

Yagona qatorda bitta butun son, shartlarni qanoatlantiruvchi istalgan \(X\) sonini chiqaring.

Izoh:

.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4
5 5 6 7
5523
2
3
2 10 9
207

C. Labirint

Xotira: 128 MB, Vaqt: 1250 ms
Masala

Ma’lum bir fermer xo‘jaligi yerining eni \(N\) metr va bo‘yi \(N\) metr ekan. Bunda to‘liq yer 1 metrga 1 metr maydonchalarga ajratilgan. Ba’zi maydonchalarda makkajo‘xori ekilgan, ba’zilari esa bo‘m-bo‘sh.

Asadullo va Ulug‘bek shu yer maydonida berkinmachoq o‘ynamoqchi bo‘lishdi. Ammo Asadullo injiq bo‘lgani sababli o‘yingoh labirint ko‘rinishida bo‘lmasa yoki bo‘sh maydonchalar soni ikkitadan kam bo‘lsa, o‘ynamasligini ma’lum qildi.

Agarda istalgan bo‘sh maydonchadan boshqa bir bo‘sh maydonchaga yagona usulda yetib borishning iloji bo‘lsa, bu yer maydonini labirint deb hisoblasak bo‘ladi. Bitta umumiy tomonga ega maydonchalar qo‘shni hisoblanadi va biridan ikkinchisiga o‘tib bo‘ladi. Albattaki, ekinlarni payhon qilmaslik uchun makkajo‘xori ekilgan maydonchalardan yurish taqiqlanadi.

Sizning vazifangiz Asadullo va Ulug‘bek berkinmachoq o‘ynay olishlarini tekshirish.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida bitta butun son - \(N(1 \le N \le 3000)\) kiritiladi.

Keyingi \(N\) ta qatorning har birida \(N\) tadan son - maydonchalar holati kiritiladi.

Bu yerda 0 bo‘sh maydoncha, 1 esa makkajo‘xori ekilgan maydoncha.

Chiquvchi ma'lumotlar:

Agar do‘stlar berkinmachoq o‘ynay olishsa “Yes” aks holda “No” so‘zini qo‘shtirnoqlarsiz  chiqaring.

Izoh:

.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3
000
110
000
Yes
2
4
0001
0101
0000
1111
No

D. Kill the monsters!

Xotira: 64 MB, Vaqt: 1250 ms
Masala

“Kill the monsters!” nomli o‘yin mavjud. Bu o‘yinda, siz tushunib ulgurganingizdek, monsterlar bor va ularni o‘ldirish lozim.

O‘yin maydoni bitta uzun kesma bo‘lib, u \(-10^9\) dan \(10^9\) gacha raqamlangan koordinatalardan iborat. Koordinata 3 xil holatda bo‘lishi mumkin: koordinata bo‘sh, koordinatada 1 ta monster bor yoki koordinatada 1 ta devor bor. Maydondagi jami devorlar va monsterlar soni \(n\) ga teng. Har bir monster o‘zining sog‘lik darajasiga ega.

Siz \(k\) marta quyidagi ishni qila olasiz:

  • o‘yin maydonida devor bo‘lmagan va oldin belgilanmagan koordinatani tanlash va uni belgilash

So‘ng barcha belgilangan koordinatalarda bir vaqtda olov yoqasiz.

Qaysidir koordinatada olov yongan bo‘lsa, 1 soniyada shu koordinatadagi monsterning sog‘lik darajasi 1 birlikka kamayadi, hamda olov oldin yonmagan va devori yo‘q bo‘lgan qo‘shni koordinataga ham o‘tadi. Olov yongan koordinatada u hech qachon o‘chmaydi. Monsterning sog‘lik darajasi 0 ga tushsa, u o‘ldi deb hisoblanadi.

Yondirish uchun \(k\) ta koordinatani optimal tanlab ularni yondirgach, eng kami bilan necha soniyadan so‘ng barcha monsterlar o‘lishini toping.

Optimal tanlovda ham, \(10^{100}\) soniyadan so‘ng tirik monster topilsa, “IMPOSSIBLE” so‘zini qo‘shtirnoqlarsiz chiqaring.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida ikkita butun sonlar - \(n,k(1 \le k \le n \le 2*10^5)\) kiritiladi.

Keyingi \(n\) ta qatorning har birida maydondagi bo‘shmas kataklar ko‘rsatiladi.

Monster uchun yangi qatorda ‘M’ belgisi va yana 2 ta butun son - \(x(-10^9 \le x \le 10^9)\) monster turgan koordinata va \(h(1 \le h \le 10^9)\) monsterning sog‘lik darajasi kiritiladi.

Devor uchun yangi qatorda ‘W’ belgisi va yana 1 ta butun son - \(x(-10^9 \le x \le 10^9)\) devor turgan koordinata kiritiladi.

Barcha testlar tepadagi shartlarni qanoatlantirishi kafolatlanadi.

Chiquvchi ma'lumotlar:

Yagona qatorda masala javobini chiqaring.

Izoh:

Birinchi testda:

  • 1 koordinatada sog‘ligi 4 bo‘lgan monster bor.
  • 2 koordinatada devor bor.
  • 3 koordinatada sog‘ligi 6 bo‘lgan monster bor.

Yondirish uchun 2 ta koordinatani belgilash lozim. 1 va 3 koordinatani belgilab ularni yondirsak, 6 soniyada barcha monsterlar o‘ladi. Bu eng yaxshi natija ekanligini isbotlasa bo‘ladi.

 

Ikkinchi testda:

Devor va monsterlar xuddi birinchi testdagidek, yagona farqi yondirish uchun faqatgina       1 ta koordinatani tanlash mumkin. Bu holatda javob “IMPOSSIBLE”. Chunki qaysi koordinatani yondirmaylik, bitta monster o‘ladi, boshqa monster esa devor sababli \(10^{100}\) soniyadan so‘ng ham tirik qoladi.

 

Uchinchi testda:

Faqatgina 1 ta koordinatani yondirish mumkin. 0 koordinatani tanlash optimal bo‘ladi. Bunda 1-monsterga yetib olib uni o‘ldirish uchun \(10^9+1\) soniya vaqt kerak. 2-monsterga yetib olib uni o‘ldirish uchun esa \(10^9+2\) soniya vaqt kerak. Jami \(10^9+2\) soniyadan so‘ng barcha monsterlar o‘lgan bo‘ladi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3 2
M 1 4
W 2
M 3 6
6
2
3 1
M 1 4
W 2
M 3 6
IMPOSSIBLE
3
2 1
M -1000000000 1
M 1000000000 2
1000000002

E. Asadbekning gullari

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Asadbek gullarni parvarishlashni yoqtiradi. U “Ci plus plusium” gullaridan o‘zining qator joylashgan \(n\) ta tuvagining barchasiga ekdi. Birinchi kuni barcha gullarning bo‘yi 0 deb hisoblasa bo‘ladi. Shu kundan boshlab har kuni Asadbek:

  • shunday \([l, r]\) oraliqni tanlaydiki, shu oraliqdagi barcha tuvaklardagi gullarning bo‘yi  bir xil bo‘lsin;
  • \([l+1,r-1]\) oraliqdagi barcha tuvaklarga suv quyadi. Keyingi kungacha shu oraliqdagi tuvaklarda joylashgan gullar 1 birlikka ga o‘sadi.

Misol, \(n=6\) uchun mos ravishda 1-2-3-kunlardagi gullarning bo‘yini quyidagicha tasvirlash mumkin:

 

1-kuni \([1,6]\) oraliq tanlangan va \([2,5]\) oraliqdagi tuvaklarga suv quyilgan.

2-kuni \([3,5]\) oraliq tanlangan va \([4,4]\) oraliqdagi tuvaklarga suv quyilgan.

0 yoki bir necha kundan so‘ng, Asadbek o‘zining gullari bilan maqtanmoqchi bo‘lib, har bir gulining bo‘yini \(A\) massiviga yozib, uni sizga berdi (\(A_i=i\)-tuvakdagi gulning bo‘yi). Ammo ba’zi gullarining bo‘ylarini eslay olmagani uchun, ularning bo‘ylarini o‘rniga -1  sonini yozdi.

Sizning vazifangiz Asadbek bergan ma’lumotlarga ko‘ra, bugungi kunda uning gullari necha xil ko‘rinishda bo‘lishi mumkinligini sanashdir. Agarda Asadbek sizni aldagan bo‘lsa, 0 chiqaring.

Natija katta bo‘lishi mumkinligi sababli, natijani \(10^9+7\) ga bo‘lingandagi qoldig‘ini chiqaring.

Kiruvchi ma'lumotlar:

Kirish oqimining birinchi qatorida bitta butun son - \(n(1 \le n \le 10^4)\) kiritiladi.

Keyingi qatorda \(n\) ta butun son - Asadbek sizga bergan \(A\) massiv elementlari kiritiladi. Massiv elementlari yoki -1 yoki \(10^4\) dan oshmaydigan butun manfiy bo‘lmagan sonlardir.

Chiquvchi ma'lumotlar:

Hozir Asadbekning gullari necha xil ko‘rinishda bo‘lishi mumkin ekanligini \(10^9+7\) ga bo‘lgandagi qoldig‘ini chiqaring. U aldagan bo‘lsa 0 chiqaring.

Izoh:

Birinchi testda:

Hech qanday usulda \(n=4\) uchun bo‘yi 3 bo‘lgan gul o‘stirib bo‘lmaydi. Demak Asadbek aldagan.

 

Ikkinchi testda:

Asadbekning gullari quyidagi 3 xil ko‘rinishda bo‘lishi mumkin:

\([0,1,2,2,1,0]\);

\([0,1,2,1,1,0]\);

\([0,1,2,1,0,0]\).

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4
-1 -1 3 -1
0
2
6
-1 -1 2 -1 -1 -1
3
Kitob yaratilingan sana: 02-May-24 04:44