A. Akobirning soati
Xotira: 32 MB, Vaqt: 1000 msAkobir texnologiyaga juda qiziqadi! U o‘zi uchun maxsus timer dastur yaratmoqchi. Dasturi qoidalarga qat’iy amal qiladi: soatlar (h) va daqiqalar (m) sonlarini to‘g‘ri kiritmasa, "error" chiqaradi! Ayniqsa, biror kishi 60 yoki undan ham ko‘p daqiqa kiritganida bu xatolik yuz beradi.
Bir kuni Akobir vaqtni noto‘g‘ri kiritib qo‘ydi va, tabiiyki, dastur "error" berdi. U sizdan yordam so‘ramoqda: Akobir dasturga kiritgan soat va daqiqa sonlari asosida to‘g‘ri va xatosiz kiritilishi mumkin bo‘lgan vaqtlarni aniqlab bering!
Bir qatorda, bo‘sh joy bilan ajratilgan ikki ta son: \(h\) — soatlar va \(m\) — daqiqalar soni kiritiladi.
- Subtask #1: \(0\le h\le10; 0\le m\) (10 ball)
- Subtask #2: \(0\le h\le100; 0\le m\) (15 ball)
- Subtask #3: \(0\le h\le10^4; 0\le m\) (20 ball)
- Subtask #4: \(0\le h\le10^8; 0\le m\) (25 ball)
- Subtask #5: \(0\le h\le10^{18}; 0\le m\) (30 ball)
Akobir kiritgan soatlar va daqiqalar asosida, dastur error chiqarmaydigan, to‘g‘ri kiritilishi mumkin bo‘lgan soat va daqiqa sonlarini bir qatorda chiqaring.
Namunaviy testcase bilan haqiqiy testcaselar bir-biridan farq qiladi!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
7 48 |
7 48 |
2 |
6 39 |
6 39 |
3 |
1 80 |
2 20 |
B. Yakkaxonlik tartibi
Xotira: 32 MB, Vaqt: 1000 msTasavvur qiling, siz sehrli sonlar yurtidasiz! Sizga \(t\) ta butun sonli kartochkalar beriladi. Har bir kartochkadagi son faqat bitta marta ishlatilishi kerak – ya'ni, har bir son faqat bir marta qatnashishi mumkin! Maqsad: barcha kartochkalardan foydalanib, takrorlanmagan sonlardan iborat yangi qiziqarli ro'yxat tuzing.
Birinchi qatorda \(t\), sizga beriladigan sonlar soni kiritiladi.
Ikkinchi qatorda \(t\) ta \(n_i\), sizga berilgan \(i(1\le i\le t)\)-elementi beriladi.
- Subtask #1: \(1\le t\le10;1\le n\le100\) (10 ball)
- Subtask #2: \(1\le t\le100;1\le n\le10^4\) (15 ball)
- Subtask #3: \(1\le t\le10^3;1\le n\le10^6\) (20 ball)
- Subtask #4: \(1\le t\le10^4;1\le n\le10^8\) (25 ball)
- Subtask #5: \(1\le t\le10^5;1\le n\le10^9\) (30 ball)
Bir qatorda elementlari faqat bir marta qatnashuvchi elementlar to'plamini chop eting.
Siz chiqargan javobning tartibi inobatga olinmaydi, javobni istalgan tartibda chop etishingiz mumkin.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 99 99 99 99 99 |
99 |
2 |
7 22 39 84 2 39 45 45 |
2 39 45 84 22 |
3 |
7 98 30 64 64 30 22 64 |
64 98 30 22 |
C. Aziz va naqt pul
Xotira: 32 MB, Vaqt: 1000 msAziz o'zining kundalik ish haqini bankdan naqd qilib olishni yoqtiradi. Biroq Aziz banki o'ziga xos: bu yerda har safar, mijoz qancha pul so‘rasa ham, bank xodimlari bu summani eng yirik mavjud banknotalarga bo‘lib beradi. Bankda faqat quyidagi qiymatdagi notalar mavjud: 1$, 10$, 100$, 1000$, va h.k. Aziz ketma-ket \(t\) kun davomida pul oladi; har bir \(i\)-kuni uning oladigan miqdori \(n_i\) bo‘ladi va shu kunning o'zidayoq bu pulni naqt pulga almashtiradi. Barcha kunlarda olgan naqt pullarini to‘plab, Aziz umumiy hisobda nechta banknota yig‘ib olgan bo‘lishini toping.
Masalan, agar Aziz bir kun 11$ olgan bo‘lsa, bank 1 ta 10$, va 1 ta 1$ beradi (ya’ni, jami 2 ta banknota).
Aziz \(t\) kun oxiridagi jami banknotalarini hisoblab, uning "banknota kolleksiyasi" qanchalik boy ekanini bilmoqchi!
Birinchi qatorda \(t\), Aziz qatnaydigan umumiy kunlar soni kiritiladi.
Keyingi \(t\) qatorda 0 dan katta bo'lgan \(n_i\), \(i(1\le i\le t)\)- kuni Aziz naxt qilmoqchi bo'lgan pul miqdori kiritiladi.
- Subtask #1: \(t = 1;1\le n\le100\) (10 ball)
- Subtask #2: \(1\le t\le10;1\le n\le10^4\) (15 ball)
- Subtask #3: \(1\le t\le1000;1\le n\le10^6\) (20 ball)
- Subtask #4: \(1\le t\le10^4;1\le n\le10^8\) (25 ball)
- Subtask #5: \(1\le t\le2*10^5;1\le n\le10^{12}\) (30 ball)
Aziz naxt pulni ishlatmagan deb faraz qilgan holda uning jami banknotalar sonini chop eting.
Namunaviy testcase bilan haqiqiy testcase bir-biridan farq qiladi!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 11 |
2 |
2 |
2 11 4 |
6 |
D. TheOddOneOut
Xotira: 72 MB, Vaqt: 1000 msTheOddOneOut - so'zining ma'nosi berilgan elementlar ichidan g'alatisini topishdan iboratdir. Sarvar \(N+1\) ta element yozayotgan edi, bu elementlar 1 dan \(N\) gacha, va Sarvar ularning orasiga bitta sonni adashib ikki marta yozib qo'ydi. Sarvar shu sonni qidirmoqchi bo'ldi, lekin u allaqachon 69420 ta son yozib bo'lgandi va hammasini tekshirib chiqishni istamadi va sizdan yordam so'radi.
Birinchi qatorda \(N\), Salim yozgan eng so'nggi son kiritiladi.
Keyingi qatorda \(N+1\) ta \(a_i\) soni kiritiladi. \((1\le a+i\le N; 1\le i\le N+1)\)
- Subtask #1: \(1\le n\le 10\) (10 ball)
- Subtask #2: \(1\le n\le 100\) (15 ball)
- Subtask #3: \(1\le n\le 10^4\) (20 ball)
- Subtask #4: \(1\le n\le 10^5\) (25 ball)
- Subtask #5: \(1\le n\le 10^6\) (30 ball)
Yozilgan ro'yhat ichidan ikki marta qatnashgan elementni toping.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
6 1 2 3 4 5 5 6 |
5 |
2 |
91 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
61 |
E. Absolut sum
Xotira: 32 MB, Vaqt: 1000 msAbdusattorda bir dona topshiriq bor: unga berilgan \(n\) ta elementdan tashkil topgan to'plamning shunday \(k\) tasini tanlab olishi kerakki, shu uzunligi \(k\) ga teng bo'lgan qism to'plamning elementlari yig'indisi maksimal bo'lsin. Bu ishda siz Abdusattorga yordam berishingiz kerak.
Birinchi qatorda ikkita butun sonlar \(n\) va \(k\), o'z navbatida jami elementlar soni va Abdusattor tanlashi kerak bo'lgan elementlar soni kiritiladi.
Keyingi qatorda \(n\) ta butun son \(a_i\), 0 dan farqli butun sonlar kiritiladi.
- Subtask #1: \(1\le k\le n\le 10; |a_i|\le100\) (10 ball)
- Subtask #2: \(1\le k\le n\le 500; |a_i|\le1000\) (15 ball)
- Subtask #3: \(1\le k\le n\le 10^3; |a_i|\le10^4\) (20 ball)
- Subtask #4: \(1\le k\le n\le 10^4; |a_i|\le10^5\) (25 ball)
- Subtask #5: \(1\le k\le n\le 10^5; |a_i|\le10^6\) (30 ball)
Yagona qatorda agar \(n\) ta elementdan tanlangan \(k\) ta elementning yig'indisi nomanfiy son bo'lsa, shu sonni \(10^3+7\) ga bo'lgandaqi qoldiqni, aks holda "-" ni chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 3 5 4 3 2 1 |
12 |
2 |
8 4 4 1 -1 -5 -6 -7 -8 -9 |
- |
F. sum_sum
Xotira: 32 MB, Vaqt: 1000 ms1 dan boshlab dastlabki \(n\) ta sonning yig’indisi quyidagi funksiya orqali ifodalanadi:
\(sum(n) = 1+2+3+...+n-1+n\)
Salim ushbu funksiyadan foydalanib o’qiga yangi nomli funksiyani yaratdi va uni quyidagi kabi ifodaladi:
\(sum\_sum(n)=sum(1)+sum(2)+...+sum(n-2)+sum(n)\)
Salim \(sum\_sum(10^9+7)\)ni hisoblash chog’ida hisobdan adashib ketti va unga endi sizning yordamingiz kerak.
Birinchi qatorda \(t\), testlar soni kiritiladi.
Keyingi \(t\) qatorda bir dona butun son \(n\) kiritiladi.
- Subtask #1: \(t = 1;1\le n\le100\) (10 ball)
- Subtask #2: \(t\le10;1\le n\le10^4\) (15 ball)
- Subtask #3: \(t\le1000;1\le n\le10^4\) (20 ball)
- Subtask #4: \(t\le10^4;1\le n\le10^5\) (25 ball)
- Subtask #5: \(t\le10^5;1\le n\le10^6\) (30 ball)
Har bir test uchun natijani alohida qatorda \(10^9+7\)ga bo'lgandagi qoldiqni toping.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 1 |
1 |
2 |
1 2 |
4 |