SamCoding Round 4 (Div. 4)


A. Maxfiy bunker

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 64 mb

Maxfiy bunkerga kirish uchun agent o‘zining yoshi, maxfiy kodi va xavfsizlik darajasini kiritadi.

Bunker quyidagi qoidalarga qat'iy tartibda amal qiladi (birinchi mos kelgan shart qo'llaniladi):

  • Agar maxfiy kod roppa-rosa \(777\) ga teng bo'lsa — bunker ochiladi.
  • Aks holda, agar agentning yoshi \(18\) dan kichik bo'lsa — u hali yosh deb topiladi.
  • Aks holda, agar agentning xavfsizlik darajasi \(5\) dan kichik bo'lsa — kodni qayta tekshirish talab qilinadi.
  • Yuqoridagi shartlarning hech biri bajarilmasa — kirish taqiqlanadi.

Sizning vazifangiz — berilgan uchta qiymat asosida agentga qaysi xabar chiqishini aniqlashdan iborat.

Kirish ma'lumotlari

Yagona qatorda bo'sh joy bilan ajratilgan uchta butun son \(a, c, l\) beriladi (\(1 \le a \le 100\), \(0 \le c \le 999\), \(1 \le l \le 10\)) — mos ravishda agentning yoshi, maxfiy kodi va xavfsizlik darajasi.

Chiqish ma'lumotlari

Masala shartlariga ko'ra quyidagi xabarlardan bittasini chop eting:

  • Bunker ochildi!
  • Sen hali yoshsan!
  • Kuchli agent, kodni tekshiring!
  • Kirish taqiqlangan!
Misollar
# Input.txt Output.txt
1
25 777 3
Bunker ochildi!
2
15 100 7
Sen hali yoshsan!
3
20 100 3
Kuchli agent, kodni tekshiring!
4
20 100 7
Kirish taqiqlangan!

B. Maxfiy baza: lazer himoyasi

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 64 mb

Maxfiy bazani lazerli himoya tizimi qo‘riqlaydi. Bazaga yaqinlashgan noma'lum obyektning tezligi, masofasi va signal darajasi beriladi.

Himoya tizimi quyidagi qoidalarga qat'iy tartibda amal qiladi (birinchi mos kelgan shart qo'llaniladi):

  • Agar obyektning tezligi \(900\) dan katta va masofasi \(100\) dan kichik bo'lsa — tizim FIRE holatiga o'tadi.
  • Aks holda, agar tezlik \(500\) dan katta va masofa \(300\) dan kichik bo'lsa — tizim ALERT holatiga o'tadi.
  • Aks holda, agar signal darajasi \(80\) yoki undan ko'p bo'lsa — tizim TRACKING holatiga o'tadi.
  • Yuqoridagi shartlarning hech biri bajarilmasa — tizim SAFE holatiga o'tadi.

Sizning vazifangiz — berilgan uchta qiymat asosida himoya tizimi qaysi holatga o'tishini aniqlashdan iborat.

Kirish ma'lumotlari

Yagona qatorda bo'sh joy bilan ajratilgan uchta butun son \(s, d, signal\) beriladi (\(0 \le s \le 2000\), \(0 \le d \le 1000\), \(0 \le signal \le 100\)) — mos ravishda obyektning tezligi, masofasi va signal darajasi.

Chiqish ma'lumotlari

Himoya tizimining holatini quyidagi qiymatlardan bittasini chop eting:

  • FIRE
  • ALERT
  • TRACKING
  • SAFE
Misollar
# Input.txt Output.txt
1
950 80 50
FIRE
2
600 200 40
ALERT
3
300 500 85
TRACKING
4
100 800 20
SAFE

C. Energiya minorasi

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 128 mb

Kosmik akademiyaning energiya minorasida \(n\) ta quvvat generatori qatorga tizilgan, ularning quvvatlari \(a_1, a_2, \dots, a_n\) massivida berilgan.

Minora barqaror ishlashi uchun unda ketma-ket joylashgan, quvvati qat'iy o'sib boruvchi (\(a_i < a_{i+1} < \dots\)) eng uzun generatorlar zanjirini topish kerak.

Sizning vazifangiz — minoradagi shunday eng uzun o'suvchi zanjirning uzunligini aniqlashdan iborat.

Kirish ma'lumotlari

Birinchi qatorda yagona butun son \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — generatorlar soni beriladi.

Ikkinchi qatorda \(n\) ta butun son \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)) — massiv elementlari beriladi.

Chiqish ma'lumotlari

Yagona qatorda — eng uzun ketma-ket o'suvchi zanjirning uzunligini chop eting.

Misollar
# Input.txt Output.txt
1
6
2 5 1 4 9 5
3
2
5
5 4 3 2 1
1

D. Eng uzun segment

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 128 mb

\(n\) ta musbat butun sondan iborat \(a_1, a_2, \dots, a_n\) massiv va \(S\) soni berilgan.

Yig'indisi \(S\) dan oshmaydigan, massivning ketma-ket joylashgan elementlaridan iborat eng uzun segmentni toping.

Kirish ma'lumotlari

Birinchi qatorda ikkita butun son \(n, S\) (\(1 \le n \le 2 \cdot 10^5\), \(1 \le S \le 10^{14}\)) beriladi.

Ikkinchi qatorda \(n\) ta butun son \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)) beriladi.

Chiqish ma'lumotlari

Yagona qatorda — yig'indisi \(S\) dan oshmaydigan eng uzun ketma-ket segmentning uzunligini chop eting. Agar bunday segment topilmasa (eng kichik element ham \(S\) dan katta bo'lsa), \(0\) chop eting.

Misollar
# Input.txt Output.txt
1
6 11
2 3 1 2 4 1
5
2
5 15
4 5 6 1 2
4

E. Minimal enirgiya

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 128 mb

Bir qatorda ketma-ket \(n\) ta \(a_1, a_2, \dots, a_n\) uzunlikdagi yog'och ustunlar mavjud. Olmaxon bu ustunlarning dastlabkisida turibdi, u oxirgi ustunga yetib borishi uchun minimal qancha enirgiya sarflaydi.

Agar olmaxon \(x_1\) - ustunda bo'lsa \(x_2\) - ustunga o'taoladi faqat \(\vert{}x_1 - x_2\vert{}\) enirgiya sarflaydi, olmaxon \(x_1\) - ustundan \(x_3\) - ustungaham o'taoladi faqat \(3 * \vert{}x_1 - x_3\vert{}\) enirgiya sarflaydi.

Misol, rasmda tasvirlangandek ustunlar berilgan bo'lsa olmaxon \(a_1\) ustundan \(a_2\) ustunga sakraydi \(\vert{}1 - 20\vert{} = 19\) va \(a_2\) dan \(a_4\) ga sakraydi \(3 * \vert{}20 - 22\vert{} = 6\), shunda olmaxon minimal enirgiyasi \(25\) ga teng bo'ladi.

Sizning vazifangiz olmaxon dastlabki ustundan oxirgi ustunga yetib borishi uchun minimal qancha enirgiya sarflashini aniqlashdan iborat.

Kirish ma'lumotlari

Kirish faylining dastlabki satrida \(n\) (\(1 \le n \le 10^5\)) ustunlar soni va keyingi satrda \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^6\)) ketma-ket ustun uzunliklari beriladi.

Chiqish ma'lumotlari

Chiqish faylida olmaxon dastlabki ustundan oxirgi ustunga yetib borishi uchun minimal qancha enirgiya sarflashini chop eting.

Misollar
# Input.txt Output.txt
1
4
1 20 7 22
25
2
5
1 2 100 3 4
5

F. Takrorlanmas belgilar

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 128 mb

\(n\) ta kichik lotin harflaridan iborat \(s\) satr berilgan.

Satrning shunday eng uzun ketma-ket qismini (substring) toping, unda hech qanday harf ikki marta uchramaydi (ya'ni barcha belgilar bir-biridan farqli).

Kirish ma'lumotlari

Birinchi qatorda yagona butun son \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — satr uzunligi beriladi.

Ikkinchi qatorda \(n\) ta kichik lotin harfidan (\(a - z\)) iborat \(s\) satr beriladi.

Chiqish ma'lumotlari

Yagona qatorda — takrorlanmas belgilardan iborat eng uzun qism satrning uzunligini chop eting.

Misollar
# Input.txt Output.txt
1
8
abcabcbb
3
2
3
aab
2

G. Yuk tashish jadvali

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 64 mb

\(n\) ta konteynerdan iborat yuk qatori berilgan, ularning og'irliklari \(a_1, a_2, \dots, a_n\) massivida ko'rsatilgan.

Bu konteynerlarni ketma-ket joylashgan holda, aynan \(m\) ta yuk mashinasiga bo'lib yuklash kerak (har bir mashina konteynerlarning uzluksiz bir bo'lagini oladi, hech qanday konteyner bo'linmaydi va hech biri qoldirilmaydi).

Sizning vazifangiz — mashinalarga shunday taqsimlashni topingki, eng ko'p yuklangan mashinaning og'irligi iloji boricha kichik bo'lsin. Shu minimal qiymatni toping.

Kirish ma'lumotlari

Birinchi qatorda ikkita butun son \(n, m\) (\(1 \le m \le n \le 2 \cdot 10^5\)) beriladi.

Ikkinchi qatorda \(n\) ta butun son \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)) beriladi.

Chiqish ma'lumotlari

Yagona qatorda — eng ko'p yuklangan mashinaning minimal mumkin bo'lgan og'rligini chop eting.

Misollar
# Input.txt Output.txt
1
5 3
7 2 5 10 8
14
2
4 2
1 2 3 4
6

H. Eng uzun segment #2

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 128 mb

\(n\) ta butun sondan iborat \(a_1, a_2, \dots, a_n\) massiv va \(S\) soni berilgan. Bu safar massiv elementlari manfiy ham bo'lishi mumkin.

Yig'indisi \(S\) dan oshmaydigan, massivning ketma-ket joylashgan elementlaridan iborat eng uzun segmentni toping.

Kirish ma'lumotlari

Birinchi qatorda ikkita butun son \(n, S\) (\(1 \le n \le 2 \cdot 10^5\), \(-10^{14} \le S \le 10^{14}\)) beriladi.

Ikkinchi qatorda \(n\) ta butun son \(a_1, a_2, \dots, a_n\) (\(-10^9 \le a_i \le 10^9\)) beriladi.

Chiqish ma'lumotlari

Yagona qatorda — yig'indisi \(S\) dan oshmaydigan eng uzun ketma-ket segmentning uzunligini chop eting. Agar bunday segment topilmasa, \(0\) chop eting.

Misollar
# Input.txt Output.txt
1
6 3
-2 5 -1 3 -4 2
6
2
5 0
3 -1 -2 4 -5
5

I. Shaxmat: ♞ Otning yurishi

Vaqt chegarasi: 1000 ms | Xotira chegarasi: 64 mb

Shaxmat taxtasida ot \((x_1, y_1)\) koordinatada turibdi. U \((x_2, y_2)\) koordinatadagi katakka bir yurishda bora oladimi yoki yo'qmi, aniqlang.

Ot shaxmatda "Г" shaklida yuradi: bir yo'nalishda \(2\) katak, unga perpendikulyar yo'nalishda \(1\) katak (ya'ni koordinatalar farqi (\(\vert{}x_1 - x_2\vert{}\), \(\vert{}y_1 - y_2\vert{}\)) juftligi \((1, 2)\) yoki \((2, 1)\) ga teng bo'lishi kerak).

Kirish ma'lumotlari

Bitta qatorda to'rtta butun son \(x_1, y_1, x_2, y_2\) (\(1 \le x_1, y_1, x_2, y_2 \le 8\)) beriladi — mos ravishda otning boshlang'ich joylashuvi \((x_1, y_1)\) va borishi kerak bo'lgan joy \((x_2, y_2)\).

Chiqish ma'lumotlari

Agar ot bir yurishda \((x_1, y_1)\) dan \((x_2, y_2)\) ga bora olsa — YES, aks holda — NO chop eting.

Misollar
# Input.txt Output.txt
1
1 1 2 3
YES
2
1 1 3 3
NO