A. O'rnini almashtirish

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sizga n ta son beriladi. Siz ularni birinchi va oxirgi indexlarini joyini almashtirib chiqarishingiz talab qilinadi.

Kiruvchi ma'lumotlar:

Birinch qatordan n soni beriladi, (1<=n<=100)

ikkinchi qatorda n ta son kiritiladi.

Chiquvchi ma'lumotlar:

Birinchi va oxirgi indexni o'rnini almashtirib, oxirgi natijani chiqaring.

Izoh:

Vectorning "swap" funksiyasini ishlating!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
10  6 8 -1 8
8 6 8 -1 10

B. Ismimni top!

Xotira: 32 MB, Vaqt: 1000 ms
Masala

7-"A" sinfining sinf rahbari o'quvchilarning topqirligini aniqlash uchun doskaga n ta o'quvchilarning ismlarini yozdi va istagan oralig'iga yangi ism qo'shib qo'ydi. So'ng, Bunyodni doskaga chiqarib quyidagi shartlarni bajarishini aytdi:

1. O'qituvchi ismlar ro'yxatiga kiritgan yangi ismni topish va uni o'chirib tashlash (agar kiritilgan yangi ism bilan bir xil ism ro'yxatda bor bo'lsa va undan oldinroqda tursa, birinchisi o'chirilsin)

2. Paydo bo'lgan ro'yxatdagi birinchi va oxirgi o'rindagi ismlarini joyini almashtirish.

Ushbu masalani yechishda Bunyodga yordam bering.

Kiruvchi ma'lumotlar:

1-qatorda n ta ism (1<=n<=\(10^4\))

2-qatorda kiritiladigan k-o'rin va ism. (1<=k<=n)

Chiquvchi ma'lumotlar:

Yangi qatorda ikkala shartni ham bajarib bo'lgandagi holatini chiqaring.

Izoh:

(Bu masalani vectorning erase(), empty() va size() funksiyalaridan foydalaning)

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
Vali Vali Umid Ulugbek Siroj
3 Vali
Siroj Vali Umid Ulugbek Vali

C. Javohirning Virusi

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Javohir o'yinlarni yaxshi ko'radi. U bir kuni yangi o'yin yukladi. U yuklagan o'yin bilan birgalikda bir virus tushdi. Bu virus n kun ishlaydi. Virus kompyuter hotirasini kuniga k GB ga to'ldirib bormoqda. Buni ko'rgan Javohir antivirus yukladi.  Antivirus shunday ishlaydiki kunlarda yig'lib qolgan keraksiz faillar 10GB dan oshsa uni o'chiradi. Agarda 10 GB ga yetmay qolsa anti virus ishlamaydi.

Sizning vazifangiz 10 GB ga yetmay qolgan kunlarni anlohida chiqaring.(5 9 1 6 7 8 2 3 2 4 bolsa 2 4)

Kiruvchi ma'lumotlar:

kirish faylining ikki qator malumot kiritiladi birinchi qatorda 1<=n<=1000 kiritiladi kunlar soni. ikkinchi qatorda 1<=k<=\(10^5\) kuniga to'lib qoladigan xotira.

Chiquvchi ma'lumotlar:

chiqish faylida qolgan kunlardagi qolib ketgan keraksiz xotiralarni chiqaring(har kungini alohida qilib chiqar)

Izoh:

vektorda ishlang

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

D. Oyna

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Jasur oyna orqali so'zlarni o'qimoqchi bo'ladi. U oynada so'zlar teskari ko'ringanligi tufayli ularni tartiblay olmaydi. Tartib quydagicha:

1)Agar so'zning bosh harfi alifbo tartibi bo'yicha oldinda bo'lsa, oldinga joylansin.

2)Agar bosh harfi bir xil bo'lsa, o'lchami kichigi oldinga joylansin.

Kiruvchi ma'lumotlar:

Birinchi qatorda n soni va Ikkinchi qatorda n ta so'z kiritiladi. (1<=n<=\(10^{5}\))

Chiquvchi ma'lumotlar:

Bir qatorda o'zgarishlardan keyingi holatni chiqaring.

Izoh:

Masalani vectorda ishlang.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
amlo rijna kon sanana iheb
anjir ananas behi nok olma
2
3
abs abd bad
dab dba sba

E. O'quvchi qo'shish o'yini

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Mohinur sinfdagi n ta o'quvchining ismini ro'yxatga yozdi. k-o'ringa yangi o'quvchini joylashtirdi, so'ngra oxirgi o'quvchi ro'yxatdan chiqib ketadi. Sizning vazifangiz, Mohinurning o'yinining oxirgi natijasini ekranga chiqarish.

Kiruvchi ma'lumotlar:

1-qatorda n ta ism, (2<=n<=\(10^{5}\))

2-qatorda k soni va yangi ism kiritiladi. (1<=k<=n)

Chiquvchi ma'lumotlar:

Bir qatorda o'zgarishlardan keyingi o'quvchilarning ismlari chiqarilsin. 

Izoh:

(Bu masalada C++ tilinig vector kutubxonasidagi insert(), pop_back() va at() funksiyalaridan foydalanilsin) 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
Farruh Ulugbek Jahongir Vali Aziz
3 Bobur
Farruh Ulugbek Bobur Jahongir Vali

F. Solihaning o'yinchoqlari

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Soliha zerikkanida o'zini o'yinchoqlarini ikki turga ajratib chiqayotgan edi. Lekin tahlab bo'lganidan so'ng ikkinchi turning oxiridagi o'yinchog'i birinchi turga tegishli ekanligi sezib qoldi. Shuning uchun u o'sha o'yinchoqni olib birinchi qatorni oxirgi o'rniga qo'shib qo'ydi. Siz endigi ikki qator o'yinchoqlarni nomlarini chiqarishingiz kerak.

Kiruvchi ma'lumotlar:

1- qatorda N soni(1<=N<=\(10^{5}\))

2- qatorda N ta o'yinchoqning nomlari

3- qatorda M soni(2<=M<=\(10^{5}\))

4- qatorda M ta o'yinchoqning nomlari

Chiquvchi ma'lumotlar:

1- qatorda endigi birinchi qatordagi o'yinchoqlar qatorini ketma-ket chiqaring.

2- qatorda ikkinchi qatordagi qolgan o'yinchoqlar qatorini ketma-ket chiqaring.

Izoh:

(Bu masala C++ dasturlash tilida ishlanganda vector kutubxonasining "insert" va "pop_back" funksiyalaridan foydalaning.)

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4
Mashina Vertolyot Velosiped Samolyot
3
Qozon Choynak Motosikl
Mashina Vertolyot Velosiped Samolyot Motosikl
Qozon Choynak
2
3
Sher Yo'lbars Bo'ri
3
Mushuk Kuchuk Tulki
Sher Yo'lbars Bo'ri Tulki
Mushuk Kuchuk

G. Imtihon

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Hammaga ma'lumki , barcha viloyatlarda Prezident , Ixtisoslashtirilgan , Ijod va Jasorat maktablariga tanlov bo'ladi.Unga ko'ra a nafar o'quvchi imtihon topshiradi , agentlik xodimlari esa ularni to'plagan ballari yordamida saralanadi . Maktabga b nafar o'quvchi kerak . 

Sizning vazifangiz esa o'sha b nafar o'quvchini ID sini chiqarish

Kiruvchi ma'lumotlar:

1-qatorda a (1<=a<=\(10^6\)) soni kiritiladi.

2-qatorda esa a nafar o'quvchining harfli ID si yonidan esa ballari kiritiladi.

3-qatorda b(1<=b<=\(10^6\)) soni kiritiladi

 

Chiquvchi ma'lumotlar:

Eng yuqori ball to'plagan b nafar o'quvchining ID sini kamayish tartibida chiqarish.

Izoh:

Vectorda ishlang

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
absabs 55
def 71
repfps 44
cssgojust 76
pythoncppqwe 80
2
pythoncppqwe
cssgojust
2
10
frot 23
fserfrs 24
hukh 67
sdfvcx 34
ftuierh 23
pgspdfpcv 89
sdjfslgcuxt 234
sdafsvce 87
ryfghcgghdh 77
cfhbh 55
4
sdjfslgcuxt
pgspdfpcv
sdafsvce
ryfghcgghdh

H. Fast-food do'koni

Xotira: 32 MB, Vaqt: 1000 ms
Masala

 

    Katta fast-food do'konida har doim mijoz juda ko'p va gavjum bo'ladi. U yerda har bir buyurtmaning o'z IDsi bor, ya'ni siz buyurtma berganingizdan so'ng sizni buyurtmangizga bitta ID tanlab olinadi va katta ekranda sizdan oldin buyurtma berganlardan so'ng paydo bo'ladi. Ammo ba'zi bir mijozlar juda shoshilayotgan bo'lishi mumkin va odam ko'pligi tufayli ular ketib qolishi mumkin. Va shunda ularning buyurtmasi katta ekrandan o'chib ketadi. Sizni vazifangiz ikkita xaridor ketib qolgandan so'ng, nechta xaridor qolganini va o'sha xaridorlarni IDsini chiqarish. 

 

Kiruvchi ma'lumotlar:

1- qatorda N soni (3<=N<=\(10^{5}\))

2- qatorda N ta ID (string formatda)

3- qatorda 2 ta chiqib ketgan xaridorlarning IDsi

Chiquvchi ma'lumotlar:

1-qatorda ekranda nechta xaridor qolganligi.

Keyingi qatorlarda qolgan xaridorlarning IDlarini tak-matak chiqaring.

Izoh:

(Bu masala C++ dasturlash tilida yozilganda vector  kutubxonasining "size" , "find"  va "erase" funksiyalaridan foydalaning.)

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
D135 P85 D84 P957 D852
D135 P85
3
D84 P957 D852
2
7
P876 D45 D23 P765 D28 P345 D123
P765 D123
5
P876 D45 D23 D28 P345

I. Matematika musoboqasi

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Matematika fanidan bir guruh o'quvchilarga dars beruvchi o'qituvchi o'zining o'quvchilariga kichik musoboqa o'tkazishga qaror qildi. Bu musoboqadan uning maqsadi o'quvchilarini ikki guruhga ajratish edi. Musoboqa yuz ballik sistemada baholanadi va o'quvchilar natijalariga qarab teng ikkiga bo'linadi. Agarda o'quvchilar soni toq bo'ladigan bo'lsa o'rtadagi o'quvchi birinchi guruhga o'tqiziladi. Sizga o'quvchilarning yuz balldan olgan ballari beriladi va siz ularni ikki guruhga ajratishingiz kerak bo'ladi.

Kiruvchi ma'lumotlar:

1-qatorda N ta o'quvchi(1<=N<=\(10^{5}\))

2-qatorda N ta o'quvchining ko'rsatgan natijalari

Chiquvchi ma'lumotlar:

1- qatorda birinchi guruh o'quvchilarining natijalari

2- qatorda ikkinchi guruh o'quvchilarining natijalari

Misollar:
# INPUT.TXT OUTPUT.TXT
1
6
98 76 75 86 92 99
92 98 99
75 76 86
2
5
67 91 80 75 59
75 80 91
59 67
3
10
85 49 96 77 59 87 63 41 99 80
80 85 87 96 99
41 49 59 63 77
4
11
54 78 95 43 90 65 51 71 58 73 82
71 73 78 82 90 95
43 51 54 58 65

J. Maxsus shifrlangan xabar

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Qadimgi Robolandiya saltanatida 2 josus bor edi. Ular boshqa davlat sirlarini bilish yoki ular haqida axborot to'plashi kerak. Lekin bu o'ta maxfiy sir bo'lishi kerak. Bu muammoni dono vazir RoboMan yechdi. U xabarlarni "+1" ko'rinishida shifrlashni taklif etdi. Bunda harf misol uchun "A" bo'lsa "B" qilib , "a" bo'lsa "b" qilib shifrlash kerak. Haqiqatdan u aqlli yechim edi. Lekin josuslar shartni uncha yaxshi tushunmagani uchun ular sizdan yordam so'ramoqda.
 

Eslatma:  "z" harfi bo'lsa "a" , "Z" bo'lsa "A" qilib shifrlashi kerak.

Kiruvchi ma'lumotlar:

Barcha belgilar bir qatorda probel bilan ajratilgan holda kiritiladi  , misol uchun : "S a r d o r".

Chiquvchi ma'lumotlar:

Chiquvchi ma'lumotda shifrlangan xabar.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
Robocontest
Spcpdpouftu
2
Informatika
Jpnsjubsj

K. Kafedagi aksiya

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Yaqinda Ali Baba kafesi o'z mijozlari uchun chegirmalar e'lon qildi. Aksiya sharti quyidagicha edi:

  • Mijozning raqamli ID si raqamlari ko'paytmasi 7 ga va 5 ga bo'linsa unga 70% chegirma
  • Agarda mijozning raqamlari ko'paytmasi juft va 9 ga bo'linsa unga 50% chegirma
  • Agar ko'paytma juft va oxirgi raqami 0 bo'lsa 25% chegirma

Sizdan talab etiladigan narsa bu  S ta mijozning qanchadan chegirma olganini takma-tak chiqarish

//Agarda raqamli ID raqamlari ko'paytmasi bir necha holatga to'g'ri kelsa , eng yuqori chegirma olinsin.

Kiruvchi ma'lumotlar:

1-qatorda S(1<=S<=\(10^5\)) soni

2-qatorda S ta a son (1<=a<=\(10^7\))

Chiquvchi ma'lumotlar:

Chiquvchi ma'lumotda har bir mijozning olgan chegirmasi chiqarilsin

Izoh:

//Foiz ("%") belgisini chiqarmang.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
1234
1235
1236
1175
5678
0
25
50
70
70

L. Musbat son

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Robot uyda bir o'zi qoldi u hamma ishlarini bitirdi ammo u zerikishni boshladi
va u bir oyin oynamqochi bo'ldi unda n ta natural son kiritiladi va agar uning oxirigi manfiy bolsa u o'chiriladi bu holat to oxiri musbat bo'lmaganigacha davom etadi .

Kiruvchi ma'lumotlar:

birinchi qatorda n natural soni. (4<=n<=\(10^{5}\))
ikkinchi qatorda n ta natural son 

Chiquvchi ma'lumotlar:

bir qatorda yakuniy royxatni chiqaring 

Izoh:

Pop backda ishlang

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
1 2 -3 4 -5
1 2 -3 4

M. Oxirgi baho

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Ustoz darsda Davron 5 kun ichida matematika fanidan nechi baho olganini tekshirdi.

Davron 5-kuni nechi baho oldi ?

Kiruvchi ma'lumotlar:

birinchi qatorga n soni kiritiladi (1<=n<=\(10^{5}\)), ikinchi qatorda n ta qiymati 100 dan oshmaydigan natural son kiritiladi 

Chiquvchi ma'lumotlar:

Davronning 5-kuni olgan bahosini chiqaring.

Izoh:

Vectorning "back" funksiyasini ishlating!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
1 2 3 3 5
5

N. Saralashni yaxshi ko'ruvchi Boburxon

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Matnda qaralganda n ta nom birga kelgandi.  Boburjon saralashni yoqtiradi.U bu nomlarni saralamoqchi. U chat gpt ishlatmoqchi edi lekin o'quvchilarga shu savolni bermoqchi bo'ldi.

Kiruvchi ma'lumotlar:

Birinchi qatorga n soni kiritiladi. (1<=n<=\(10^{5}\))

Ikkinchi  qatorga stringda nomlar kiritiladi.

Chiquvchi ma'lumotlar:

saralangan qatorni chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
Bobur Sardor Salim Jurabek Davlat
Bobur Davlat Jurabek Salim Sardor
Kitob yaratilingan sana: 12-Oct-25 15:47