A. Sehrgar

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Sehrgarning jami N ta it, mushuk va sichqonlari bor edi. Sehrgar avval K ta itni mushukka aylantirib qo'ydi. Keyin M ta mushukni sichqonga aylantirib qo'ydi. Natijada barcha hayvonlar soni tenglashib qoldi. Dastlabki mushuklar sonini hisoblovchi dastur tuzing.

Kiruvchi ma'lumotlar:

Birinchi qatorda N natural sonlar beriladi. \((1≤N≤10^{18})\)

Ikkinchi qatorda K va M natural sonlar beriladi. \((1≤K,M<N≤10^{18})\)

Chiquvchi ma'lumotlar:

Masala javobini yagona qatorda chop eting. Agar masala yechimga ega bo'lmasa \(-1\) ni chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
33
2 8
17
2
6
1 2
3
3
12
5 1
0

B. Barmoqda sanash

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Rasmda ko'rsatilgani kabi sanashni davom ettirsak, K songa qaysi harf to'g'ri kelishini hisoblovchi dastur tuzing.

Kiruvchi ma'lumotlar:

K natural son beriladi. \((1≤K≤10^{18})\)

Chiquvchi ma'lumotlar:

Masala javobini chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
E
2
8
B
3
10
B

C. Harfli ketma-ketlik #1

Xotira: 512 MB, Vaqt: 1000 ms
Masala

Ismoil yo'ldan qog'oz topib oldi. Qog'ozda katta K ta ingliz harflardan tashkil topgan  M uzunlikdan iborat ketma-ketlik bor ekan. U quydagicha:
\(1. AAAAA...A\) 

\(2. AAAAA...B\)

\(3. AAAAA...C\)

\(.......................\)

Ismoil qiziqib qoldi. Agar shunday tartib bilan ketgan bo'lsa S kod berilsa, shu kod nechanchi qatorda joylashgan ekanligiga va buni topishga qiynaldi. Siz unga yordam bering.

Kiruvchi ma'lumotlar:

Birinchi qatorda K va M natural son kiritiladi. \((1≤K≤26)\)\((1≤M<10^8)\)

Ikkinchi qatorda S kod beriladi. \(len(S)==M\)

Chiquvchi ma'lumotlar:

Masala javobini \(10^9+7\) ga bo'lgandagi qoldiqqa mos natijani chop eting.

Izoh:

1-testda
1. AAA
2. AAB
3. AAC
4. AAD
5. ABA
6. ABB
7. ABC
8. ABD
9. ACA
…… kabi bo'lganda 7 qatorda ABC satr joylashgan.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4 3
ABC
7
2
5 5
DAAAA
1876
3
4 5
CAABD
520

D. Sanoq sistemalari

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Biror K sanoq sistemasida berilgan. N sonidan boshlan M ta son ketma-ket yozib chiqildi. Natijada hosil bo'lgan son uzunligi va shu son oxiri qaysi raqam bilan tugashini hisoblovchi dastur tuzing. (Bu yerda K, N va M sonlar 10 lik sanoq sistemasida berilgan. Siz N va sonini K sanoq sistemasidagi qiymatidan boshlab M ta yozishingiz kerak)

Kiruvchi ma'lumotlar:

K, N va M natural sonlar beriladi. \((2≤K≤36), (1≤N≤M≤10^{18})\)

Chiquvchi ma'lumotlar:

Birinchi qatorda hosil bo'lgan son uzunligini chop eting.

Ikkinchi qatorda shu son oxiri qaysi raqam bilan tugashini chop eting.

Izoh:

1-test.
2 likda 0 dan boshlab 3 ta son yozamiz.
10 lik da 0 2 likda ham 0 ga teng.
0 1 10 Demak uzunligi 4 va oxiri 0 bilan tugayapti

2-test
10 likda 5 dan boshlab t ta son yozamiz.
5 6 7 8 9 10 11 demak

 

3-test 13 likda 885 dan boshlab 9 ta son yozamiz. 
Avval 885 bu 10 likda berilgan 13 likka o'tkazamiz ya'ni 531 bo'ladi.
531 532 533 534 535 536 537 538 539 Demak uzunligi 27 va oxiri 9 bilan tugayapti.
 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2 0 3
4
0
2
10 5 7
9
1
3
13 885 9
27
9

E. Navbat

Xotira: 64 MB, Vaqt: 1000 ms
Masala

3 kishi A, B va C navbatda turishibdi. A va B orasida N kishi va B va C orasida K kishi bor. Agar C dan oldinda M kishi va A dan orqada T kishi bo'lsa, navbatda eng kamida qancha odam bo'lishini aniqlang.

Kiruvchi ma'lumotlar:

Birinchi qatorda N, K, M, T butun sonlar kiritiladi. \((1≤N,K,M,T≤1000)\)

Chiquvchi ma'lumotlar:

Masala javobi chiqaring.

Izoh:

1-testda 1 2 3 4 qiymatlarda B A C tartibda joylashsa eng kam qiymat 7 ga erishadi.

Agar C A B tartibda bo'lsa 9 qiymatga erishardi.

Agar A B C tartibda deganimizda ma'noga ega bo'lmay qoladi.
 

2-testda 75 3 70 59 qiymatlarda A C B tartibda joylashsa eng kam qiymatga erishadi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
1 2 3 4
7
2
75 3 70 59
202
3
30 78 80 36
165

F. Optimizatsiya

Xotira: 128 MB, Vaqt: 2000 ms
Masala
#include <bits/stdc++.h>
using namespace std;
main() {
    string s, t;
    cin >> s >> t;
    int c = 0;
    for (int i = 0; i <= s.length() - t.length(); i++) {
        for (int j = 0; j < t.length(); j++) {
            if (s[i + j] != t[j]) {
                c++;
            }
        }
    }

    cout << c;
}

 

s = input()
t = input()
c = 0

for i in range(len(s) - len(t) + 1):
    for j in range(len(t)):
        if s[i + j] != t[j]:
            c += 1

print(c)
Kiruvchi ma'lumotlar:

BIrinchi qator \(S\) satri  \(|S|(1≤|S|≤10^5).\)

Chiquvchi ma'lumotlar:

Shu kodni natijasini ekranga chiqarish.

Izoh:

Pythonda ishlasangiz PyPy dan foydalanishingizni tavsiya qilaman.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
plbmbhtztalz
lufi
35
2
bqqupo
s
6
Kitob yaratilingan sana: 26-Nov-24 12:03