A. Quvvat o'lchagichni sozlash
Xotira: 32 MB, Vaqt: 1000 msSizdan 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
vab
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.
Bitta qator: ikki butun son a
va b
probel bilan ajratilgan holda kiritiladi. \((1 ≤ a ≤ 1000, -10^4 ≤ b ≤ 10^4)\)
Bitta butun son: quvvat o‘lchagichning yakuniy ko‘rsatkichini chop eting.
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
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 1 |
1 |
2 |
2 2 |
4 |
B. Ibrohim va uning ijodiy jamoasi
Xotira: 32 MB, Vaqt: 1000 msIbrohim 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.
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.
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.
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.
# | 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 msSizga 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.
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.
Har bir test uchun dekodlangan, ya'ni asl satrni chiqaring.
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.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 4 bdac 5 acefb |
abcd abcfe |
D. Raqamlar Yig'indisi #EASY
Xotira: 512 MB, Vaqt: 1000 msSizga 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.
Birinchi qatorda bitta son x \((1<=x<=1000)\)
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.
Misol uchun, ikkinchi testda, 15+1+5=21.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
20 |
-1 |
2 |
21 |
15 |
E. Juftliklar
Xotira: 32 MB, Vaqt: 1000 msSizga 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)\)
Birinchi qatorda n massiv uzunligi va e soni,\(1<=n,e<=2*10^5\)
Ikkinchi qatorda massiv elementlari, \(1<=a[i]<=10^6\)
Mumkin bo'lgan i va k juftliklar soni.
# | 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 msSizga 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.
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.
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.
Juft sonli indekslar: 0, 2, 4, 6, ...
Toq sonli indekslar: 1, 3, 5, 7, ...
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
abcdef fedcba |
6 |
2 |
abcabc acbacb |
4 |
G. XML
Xotira: 32 MB, Vaqt: 1000 msMasalan, <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.
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.
Yuqoridagi qoidalarga muvofiq, berilgan XML-matnni chop eting.
# | 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 msSizga 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.
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.
Minimal almashtirishlar sonini chop eting.
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.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 3 5 4 1 2 |
5 |