A. Fantastik to'rtlik
Xotira: 16 MB, Vaqt: 1000 msKunlardan bir kun fantastik to'rtlikdagi qahramonlardan biri g'oyib bo'lib qoldi. Siz g'oyib bo'lgan 4-qahramonni topishingiz kerak. Bunda ularning har biriga 1 tadan butun son biriktirilgan va ular boshida tartiblangan holatda va har qaysi qo'shnilar orasidagi farq bir xil edi (arifmetik progressiya). Ammo hozir ular chalkash holda va ulardan biri g'oyib bo'lgan. O'sha g'oyib bo'lgan sonni toping. Agar bundan sonlar bir nechta bo'lishi mumkin bo'lsa ulardan istalganini chop etishingiz mumkin.
Kirish faylida bir qatorda 3 ta butun son kiritiladi. Ularning absolyut qiymatlari 1000 dan oshmaydi.
Chiqish faylida g'oyib bo'lgan sonni toping.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 6 8 |
10 |
2 |
8 5 6 |
7 |
B. Hamma g'olib
Xotira: 16 MB, Vaqt: 1000 msMashhur Robocontest tizimida \(n\) reyting o'ynaladi. Reytingni taqsimlash quyidagi algoritm bo'yicha amalga oshiriladi: agar tadbirda k ishtirokchi ishtirok etsa, u holda n reyting ular orasida teng taqsimlanadi va faqatgina sonning butun qismi olinadi. Tarqatish oxirida foydalanilmagan reyting qolishi mumkin - u ishtirokchilarning hech biriga hisoblanmaydi.
Masalan \(n=7\) va \(k=3\) holatnin ko'rib chiqaylik. Bunda har bir ishtirokchiga \(\lfloor7/3 \rfloor = 2\) reyting qo'shiladi. Qolgan 1 reyting hech kimga tegishli bo'lmaydi. Agar k=9 bo'ladigan bo'lsa, hech kim reyting olmaydi.
Shohruh ushbu reyting o'yinida ishtirok etadi, ammo ushbu contestda qatnashganlarning umumiy soni haqida ma'lumot yo'q. Shuning uchun, u ushbu o'yin natijasida qanday turli xil reyting qiymatlari oshishi mumkinligini bilmoqchi va sizdan yordam so'ramoqda.
Masalan, agar \(n=5\) bo'lsa, biz kutgan javob \(0,1,2,5\) ketma-ketligiga teng bo'ladi. Ketma-ketlikdagi qiymatlarning har biri ba'zi mos musbat butun k uchun \(⌊n/k⌋\) sifatida olinishi mumkin (bu erda \(⌊x⌋\) - x dan kichik yoki teng bo'lgan eng katta butun son): \(⌊5/ 7⌋=0,\ ⌊5/5 ⌋ = 1,\ ⌊5/2⌋ = 2, \ ⌊5/1⌋ = 5\).
Berilgan n boʻyicha barcha mumkin boʻlgan reyting oʻsishlar ketma-ketligini topadigan dastur yozing.
Kirish faylining birinchi qatorida butun t \((1≤t≤10)\) - testlar soni mavjud.
Keyingi t qatorning har birida bittadan butun son - n mavjud \((1 \le n \le 10^9)\).
Chiqish faylida har bir test uchun birinchi qatorda turli xil reyting o'zgarishlar sonini, keyingi qatorda esa shu sonlarni kamaymaydigan tartibda bo'sh joy bilan ajratilgan holatda chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 13 11 5 17 |
7 0 1 2 3 4 6 13 6 0 1 2 3 5 11 4 0 1 2 5 8 0 1 2 3 4 5 8 17 |
C. Qoldiq o'yini
Xotira: 16 MB, Vaqt: 1000 msBu interaktiv masala.
Shohruh kecha matematika darsida qoldiqlar mavzusini o'rganib oldi. Endi u ushbu mavzuni yanada chuqur o'zlashtirish maqsadida siz bilan o'yin o'ynamoqchi. Shohruh qog'ozga a sonini yozdi. Siz Shohruhga x va y sonlarini aytasiz, Shohruh esa sizga quyidagi javobdan birini aytadi:
- Agar \((x\ mod\ a) \ge (y\ mod\ a)\) bo'lsa \(x\);
- Agar \((x\ mod\ a) < (y\ mod\ a)\) bo'lsa \(y\).
Bu yerda \((k\ mod\ a)\) k ning a ga bo'lingandagi qoldig'ini ifodalaydi.
Hakamlar hayati bilan aloqa quyidagicha amalga oshiriladi:
\("?\ x\ y"\) - dasturga x va y sonlarini yuborish. Bunga javoban ″x″ yoki ″y″ ko'rinishida javob olasiz.
\("!\ a"\) javobni topganingizdan so'ng ushbu buyruqni dasturga yuborishingiz va dasturni shu zahoti to'xtatishingiz zarur. Aks holda ″Presentation error″ xatoligini olasiz.
100 ta dan ko'p bo'lmagan so'rovlar yordamida javobni aniqlashingiz zarur.
Chegaralar: \((1 \le a \le 10^9, 1 \le x, y \le 2*10^9)\).
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
x y x x |
? 5 11 ? 9 3 ? 8 3 ? 8 17 ! 9 |
D. O'ta maxfiy parol
Xotira: 256 MB, Vaqt: 1000 msBir noma'lum xaker keyingi contestda muammolarga duch kelmaslik uchun Robocontest test tizimining administrator parolini olmoqchi. Buning uchun u administratorning kabinetiga yashirincha kirib, lotincha kichik harflardan iborat bo‘lgan n ta paroldan iborat bo‘lgan varaqni o‘g‘irladi.
Xaker uyiga qaytib, Robocontestni buzishga tayyorgarlik ko'ra boshladi. U tizimda faqat oʻgʻirlangan roʻyxatdagi parollar borligini va tizim a va b parollarining ekvivalentligini quyidagicha tekshirishini aniqladi:
- a parolda ham, b parolda ham uchrovchi biror bir x harfi mavjud bo'lsa, a va b parollari ekvivalentdir;
- a va b parollar ekvivalent bo'ladi qachonki ro'yxatda shunday c parol bo'lsaki bunda u a ga ham b ga ham ekvivalent bo'lsa.
Agar tizimda parol o'rnatilgan bo'lsa va tizimga kirish uchun unga tenglashtirilgan parol qo'llanilsa, u holda foydalanuvchi tizimga kiradi.
Masalan, agar ro'yxatda ″i″, ″j″, ″ij″, ″k″ parollari bo'lsa, ″i″, ″j″, ″ij″ parollari bir-biriga ekvivalent, lekin ″k″ paroli ro'yxatdagi boshqa parollarga ekvivalent emas. Boshqacha aytganda, agar:
- admin paroli ″j″ bo'lsa, tizimga ushbu parollardan birortasi yordamida kirishingiz mumkin: ″i″, ″j″, ″ij″;
- admin paroli ″k″ bo'lsa, tizimga faqat ″k″ dan foydalanib kirishingiz mumkin.
Ro'yxatdagi faqat bitta parol test tizimidagi administrator parolidir. Tizimga kafolatlangan kirish uchun zarur bo'lgan minimal parollar sonini hisoblashda xakerga yordam bering. Shuni yodda tutingki, xaker tizimda qaysi parol o'rnatilganligini bilmaydi.
Kirish faylining birinchi qatorida \(n\ (1≤n≤2*10^5)\) butun soni mavjud - ro'yxatdagi parollar soni. Keyingi n qatorda roʻyxatdagi parollar mavjud – boʻsh boʻlmagan \(s_i\) satrlari, uzunligi koʻpi bilan 50 ta harfdan iborat. Ba'zi parollar o'zaro teng bo'lishi mumkin.
Barcha parollarning umumiy uzunligi \(10^6\) ta belgidan oshmasligi kafolatlanadi. Ularning barchasi faqat kichik lotin harflaridan iborat.
Bitta qatorda parollarning minimal sonini chop eting, ulardan foydalanish tizimga kafolatlangan kirish imkonini beradi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 ab bc abc |
1 |
2 |
5 yyyyyyyyyyyyyyyyyyyyyyyyyyy xxxxxx zz zzzzzzzzzzz zzzzzzzzzz |
3 |
E. Navbat
Xotira: 64 MB, Vaqt: 500 msYaqin kunlarda Robocontest futbolkalari sotuvga chiqa boshladi. Futbolkalar omma orasida shunchalar mashxur bo'lib ketdi-ki, uzun qatorlarda navbatlar paydo bo'ldi. Endi ularni bir savol qiziqirib qo'ydi. Nechta turli juftliklar bir-birini to'g'ridan-to'g'ri ko'ra olishadi?
Bunda 2 kishi bir-birini ko'ra olishi uchun quyidagi holatlardan biri bo'lishi kerak:
1) ular orasida hech kim bo'lmasligi kerak.
2) ular orasida ularning hech biridan uzun inson bo'lmasligi kerak.
Bunday juftliklar nechta ekanligi aniqlovchi dastur tuzing.
Kirish faylida birinchi qatorda 1 ta natural son \(N(1 \le N \le 500 000)\) navbatdagilar soni.
Keyingi N ta qatorda bittadan natural son mos ravishda navbatdagilarning bo'yi uzunliklari. Bunda ular \(2^{31}\) dan oshmaydi.
Chiqish faylida bir-birini ko'rishi mumkin bo'lgan juftliklar sonini chop eting.
1-testda har bir yonma-yon turgan inson bir-birini ko'ra olishadi. Bunday juftliklar 6 ta.
Bundan tashqari juftliklar {4, 2}, {4, 2}, {4, 5}, {2, 5}
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
7 2 4 1 2 2 5 1 |
10 |