A. Quvvat o'lchagichni sozlash

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizdan mashinaning quvvat o‘lchagich ko‘rsatkichlarini sozlash talab etiladi. Mashinaning quvvat o‘lchagichi boshlang‘ich qiymatiga ega bo‘ladi va har soniyada quvvat 2 birlikka ortadi. a soniyadan so‘ng, quvvat o‘lchagichning yakuniy ko‘rsatkichini aniqlashingiz kerak.

Dastur quyidagilarni bajarsin:

  • Ikki butun sonni a va b kiritadi, bu yerda:
    • a — mashinaning ishlash vaqti (soniya).
    • b — quvvat o‘lchagichning boshlang‘ich ko‘rsatkichi.
  • Har soniyada quvvat o‘lchagich 2 birlikka ortadi, jami a - 1 soniya davomida.
  • Dastur yakunda quvvat o‘lchagichning oxirgi ko‘rsatkichini chop etsin.
Kiruvchi ma'lumotlar:

Bitta qator: ikki butun son a va b probel bilan ajratilgan holda kiritiladi. \((1 ≤ a ≤ 1000, -10^4 ≤ b ≤ 10^4)\)

 

Chiquvchi ma'lumotlar:

Bitta butun son: quvvat o‘lchagichning yakuniy ko‘rsatkichini chop eting.

Izoh:

Birinchi misolda, quvvat o‘lchagich 10 dan boshlanadi va har safar 2 birlikka to‘rt marta ortadi (chunki a-1 bu 4 ga teng). Yakuniy ko‘rsatkich 18 bo‘ladi.

Ikkinchi misolda, quvvat o‘lchagich -4 dan boshlanadi va 2 birlikka ikki marta ortadi (a-1 bu 2 ga teng). Yakuniy ko‘rsatkich 0 bo‘ladi.

Muallif: Muhammadsiddiq Abduqahharov

Misollar:
# INPUT.TXT OUTPUT.TXT
1
1 1
1
2
2 2
4

B. Ibrohim va uning ijodiy jamoasi

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Ibrohim o‘zining ijodiy jamoasi bilan katta loyiha ustida ishlamoqda. U o‘z jamoasidagi barcha a’zolarni yaxshi biladi, lekin loyihada ba’zi qoidalar bor. Masalan, Ibrohim jamoasida ishlaydigan ikki a’zo birga ishlaganda, ularning hamkorligi samarali bo‘lishi uchun ularning umumiy tajribasi yig‘indisi juft bo‘lishi kerak. Aks holda, ular bir-biri bilan yaxshi ishlashmaydi va bu loyiha uchun katta xatolarga olib kelishi mumkin!

Jamoada birga ishlayotganlar har xil darajadagi tajribaga ega – ba’zilar ko‘proq tajribaga ega (bu ularning soni orqali belgilanadi) va ba’zilar kamroq. Endi, Ibrohimning muammosi: agar ketma-ket ikki odamning tajribasi yig‘indisi juft bo‘lmasa, ularning birini loyihadan chetlashtirish kerak bo‘ladi.

Sizning vazifangiz – iloji boricha kamroq jamoa a’zosini chetlatish orqali barcha ketma-ket a’zolar birga samarali ishlashini ta’minlash.

Kiruvchi ma'lumotlar:

Dastlab, t \((1≤t≤100)\) test holatlari kiritiladi, bu Ibrohimning nechta jamoasi yoki necha xil loyihasi borligini bildiradi.

Har bir test holati uchun:

  • Birinchi qator n \((3≤n≤1000)\) ni o‘z ichiga oladi — jamoa a’zolarining soni.
  • Ikkinchi qatorda jamoaning n a’zosi tajribasini ifodalovchi \(a[1],a[2],a[3].....a[n]\) sonlar ketma-ketligi beriladi. \((1<=a[i]<=10^9)\)

Test holatlaridagi barcha a’zolar sonining yig‘indisi 100,000 dan oshmasligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Har bir test holati uchun bitta sonni chop eting — ketma-ket a’zolar samarali ishlashi uchun loyihadan chiqarish kerak bo‘lgan eng kam a’zo soni.

Izoh:

Birinchi namumaviy testda: 2, 4, 3, 6, 8. Bu yerda chiqarilishi kerak bo'lgan a'zolarning eng kam soni - 1, bu yerda faqat 3 olib tashlansagina, ikkita ketma ket a'zolarning tajribalari yig'indi juft bo'la oladi. 3, 5, 9, 7, 1, 3 → bu yerda a'zolarni chetlashtirish shart emas, chunki: 3+5=8, 5+9=14, 9+7=16, 7+1=8, 1+3=4, va ko'rinib turibdiki bu yerda barcha ketma-ket a'zolari tajribalari yig'indisi juftdir.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2
5
2 4 3 6 8
6
3 5 9 7 1 3
1
0
2
1
4
1 2 5 7
1

C. Decoding

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga kichik harflardan tashkil topgan satrlar beriladi. Bu satrlar juft indeksdagi belgilar bilan toq indeksdagi belgilarni almashtirish orqali kodlangan. Sizning vazifangiz kodlangan satrni asl holatiga qaytarib dekodlash.

Kiruvchi ma'lumotlar:

Birinchi qatorda t (1 ≤ t ≤ 100) — testlar soni beriladi.

Har bir test uchun birinchi qatorda n (1 ≤ n ≤ 1000) — kodlangan satr uzunligi beriladi.

Ikkinchi qatorda kodlangan satrning o'zi beriladi.

Chiquvchi ma'lumotlar:

Har bir test uchun dekodlangan, ya'ni asl satrni chiqaring.

Izoh:

Birinchi test uchun: bdac satri abcd holatiga keladi, chunki juft va toq indeksdagi belgilar o'zaro almashtirilgan.

Ikkinchi test uchun: acefb satri abcfe holatiga keladi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2
4
bdac
5
acefb
abcd
abcfe

D. Raqamlar Yig'indisi #EASY

Xotira: 512 MB, Vaqt: 1000 ms
Masala

Sizga x soni berilgan bo'lib, sizning vazifangizni shunday bir n sonini topishdan iboratki, shu sonni o'zini raqamlar yig'indisiga qo'shilgani x ga teng bo'lsin.

 

Kiruvchi ma'lumotlar:

Birinchi qatorda bitta son x \((1<=x<=1000)\)

Chiquvchi ma'lumotlar:

Yagona qatorda masala yechimini chiqaring. Agarda bunday son yo'q bo'lsa, -1 ni chiqaring, aks holatda masala shartiga to'g'ri keluvchi istalgan bir sonni chiqaring.

Izoh:

Misol uchun, ikkinchi testda, 15+1+5=21.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
20
-1
2
21
15

E. Juftliklar

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga a massivi va e soni beriladi. Siz shunaqa juftliklarni sonini topishingiz kerakki (i,k), a[i]*a[i+1*e]*a[i+2*e]*a[i+3*e]*....*a[i+k*e] tub son bo'lsin.
\(1<=i+e*k<=n<=2*10^5)\)

Kiruvchi ma'lumotlar:

Birinchi qatorda n massiv uzunligi va e soni,\(1<=n,e<=2*10^5\)

Ikkinchi qatorda massiv elementlari, \(1<=a[i]<=10^6\)

Chiquvchi ma'lumotlar:

Mumkin bo'lgan i va k juftliklar soni.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
8 2
1 1 1 29 1 1 24 1
5
2
2 1
1 1
0
3
9 2
13 1 1 1 1 1 1 1 20
3

F. Moslik

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga ikkita qator berilgan: S va T. Har safar S qatoridagi harfni olib, uni T qatoridagi mos keladigan harf bilan almashtirishingiz mumkin. Har bir almashtirish faqat juft sonli indekslardagi harflar bilan toq sonli indekslardagi harflar o'rtasida bajarilishi mumkin. Ya'ni, siz faqat S qatoridagi juft indeksli harflarni toq indeksli harflar bilan almashtirishingiz mumkin. Maqsad – S qatorini T qatoriga imkon qadar yaqinlashtirish.

Sizning vazifangiz S qatorini qanday qilib maksimal miqdorda T qatoriga mos keltira olishingizni aniqlashdir.

Kiruvchi ma'lumotlar:

Birinchi qatorda S qatori (1 ≤ |S| ≤ 100,000) va ikkinchi qatorda T qatori (1 ≤ |T| ≤ 100,000) beriladi. Har ikkala qator bir xil uzunlikka ega.

Ikkala qator faqat kichik lotin harflaridan iborat.

Chiquvchi ma'lumotlar:

Siz faqat juft sonli indekslardagi harflarni toq sonli indekslardagi harflar bilan almashtirib, S va T qatorlarining qanchalik mos kelishini aniqlashingiz kerak. Nechta harf to'g'ri keldi, shuni chop eting.

Izoh:

Juft sonli indekslar: 0, 2, 4, 6, ...

Toq sonli indekslar: 1, 3, 5, 7, ...

Misollar:
# INPUT.TXT OUTPUT.TXT
1
abcdef
fedcba
6
2
abcabc
acbacb
4

G. XML

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Masalan, <x> qatorini ochilish tegi sifatida belgilaymiz, bunda x lotin alifbosining har qanday kichik harfidir. Har bir ochilish tegi </x> turidagi yopish tegiga mos keladi , bu yerda x bir xil harfdir.

Teglar bir-biriga joylashtirilishi mumkin: bu holda bir ochuvchi va yopish tegi juftligi boshqa juftlik ichida joylashgan.

XML-matn tushunchasini aniqlaymiz :

  • bo'sh satr XML-matndir
  • agar s XML-matn bo'lsa , s ' =<a>+s+</a> ham XML-matn bo'lib, bu yerda a har qanday kichik lotin harfidir.
  • agar s1 ,s2 XML-matn boʻlsa , s1+s2 ham XML-matn hisoblanadi .

Sizga XML-matn beriladi (matn haqiqiy ekanligi kafolatlanadi), sizning vazifangiz quyidagi shaklda chop etishdir:

  • har bir teg (ochish va yopish) bitta satrda joylashgan
  • tegdan oldin 2 *  h bo'shliq bilan chop eting, bu erda h tegning joylashish darajasidir.
Kiruvchi ma'lumotlar:

Kirish ma'lumotlari bo'sh bo'lmagan yagona satrdan iborat - XML-matn, uning uzunligi 1000 belgidan oshmaydi. Matn haqiqiy ekanligi kafolatlanadi. Matnda bo'sh joy yo'q.

Chiquvchi ma'lumotlar:

Yuqoridagi qoidalarga muvofiq, berilgan XML-matnni chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
<a><b><c></c></b></a>
<a>
  <b>
    <c>
    </c>
  </b>
</a>
2
<a><b></b><d><c></c></d></a>
<a>
  <b>
  </b>
  <d>
    <c>
    </c>
  </d>
</a>

H. Swap

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga ixtiyoriy sonlar massivi a berilgan. Siz bu massivda bir qator almashtirish (swap) operatsiyalarini bajarish orqali barcha elementlarni 1 dan n gacha bo'lgan natural sonlar ko'rinishiga keltirishingiz kerak. Ammo almashtirishlar faqat massivdagi o'zaro qo'shni bo'lgan elementlar orasida bajarilishi mumkin. Sizning vazifangiz bu jarayonni bajarish uchun kerak bo'lgan minimal almashtirishlar sonini aniqlash.

Kiruvchi ma'lumotlar:

Birinchi qatorda butun son n (1 ≤ n ≤ 100,000) – massivning o'lchami.

Ikkinchi qatorda n ta butun son a[i] (1 ≤ a[i] ≤ n) – elementlar, bu elementlar 1 dan n gacha bo'lgan qiymatlar to'plamidan iborat, ammo tartibsiz ko'rinishda.

Chiquvchi ma'lumotlar:

Minimal almashtirishlar sonini chop eting.

Izoh:

Massivni tartiblangan ko'rinishga keltirish uchun minimal almashtirishlar jarayoni quyidagicha bo'lishi mumkin:

  • [3 5 4 1 2] → [3 4 5 1 2] → [3 4 1 5 2] → [3 1 4 5 2] → [1 3 4 5 2] → [1 3 4 2 5] → [1 2 3 4 5]

Bu jarayonda jami 5 ta almashtirish amalga oshirildi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
3 5 4 1 2
5
Kitob yaratilingan sana: 24-Oct-24 14:30