#7 Мартовский вариант от PRO100 ЕГЭ

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024

Комментарии • 26

  • @pro100ege68
    @pro100ege68  5 месяцев назад

    Таймкоды:
    00:00 Обзор варианта
    01:05 Номер 1 (ответ: 22)
    05:15 Номер 2 (ответ: xzyw)
    10:35 Номер 3 (ответ: 736)
    18:07 Номер 4 (ответ: 1100)
    21:36 Номер 5 (ответ: 141)
    31:33 Номер 6 (ответ: 30)
    38:12 Номер 7 (ответ: 128)
    43:23 Номер 8 (ответ: 1296)
    49:14 Номер 9 (ответ: 607)
    54:25 Номер 10 (ответ: 47)
    55:52 Номер 11 (ответ: 14)
    01:00:09 Номер 12 (ответ: 23)
    01:11:58 Номер 13 (ответ: 32)
    01:20:31 Номер 14 (ответ: 5)
    01:29:58 Номер 15 (ответ: 115)
    01:36:08 Номер 16 (ответ: 4043)
    01:44:37 Номер 17 (ответ: 5211 20116)
    01:58:09 Номер 18 (ответ: 2483 1157)
    02:05:22 Номер 19-21 19)9 20)2 3 21)6
    02:24:05 Номер 22 (ответ: 3)
    02:28:53 Номер 23 (ответ: 376)
    02:33:06 Номер 24 (ответ: 297)
    02:50:15 Номер 25 (ответ: 7055)
    02:52:09 Номер 26 (ответ: 616 9770)
    03:06:15 Номер 27 пункт А
    03:15:24 Номер 27 (ответ: 150 360685)

  • @varisha_i
    @varisha_i 5 месяцев назад +23

    так объяснять задачи, что их невозможно переписать под себя, надо уметь

  • @aleksandrtarasov3625
    @aleksandrtarasov3625 5 месяцев назад +6

    27 задача - слишком большой код. Проще. Надо проще.
    n,*a=map(int,open('27_C.txt'))
    b=[a[i]-a[i-1] for i in range(1,n)] # разности
    s=[0]*n # префикс суммы
    j=0 # текущий минимум
    d=0 # длина последовательности
    smax=0 # максимальная сумма
    for i in range(1,n):
    s[i]=s[i-1]+b[i-1]
    if s[i]=smax:
    smax=sm
    d=i-j
    print(d+1)

  • @DaniilInfo
    @DaniilInfo 4 месяца назад

    "Сумма разниц пар соседних элементов" это тоже самое, что и "последний элемент минус первый элемент". Тогда 27я задача сводится ко совсем простой...
    В итоге, находим самый большой последний элемент и самый маленький первый элемент. Всё!!!

  • @Школа17Заволжье
    @Школа17Заволжье 6 месяцев назад +1

    27-ю задачу можно решить проще. Сумма всех разниц пар соседних элементов подпоследовательности = последний элемент подпоследовательности вычесть первый элемент подпоследовательности.
    Для частного случая, когда минимальное число идёт раньше максимального (а оба файла в задаче именно такие) достаточно найти количество элементов подпоследовательности, которая начинается с последнего минимума и заканчивается последним максимумом.
    Универсальное решение: начало подпоследовательности - это номер текущего минимума, окончание - номер элемента, максимально отличающегося (большего) этого минимума. Если минимум или максимальная разница повторяются, используем их последние номера.
    with open('27_B.txt') as f:
    n = int(f.readline())
    a = [int(t) for t in f]
    h = -10**6 # максимальная разница
    cm, l = a[0], 0 # начальный минимум и его положение (подпосл.)
    for i in range(1,n):
    d = a[i]-cm # разница между текущим элементом и текущим минимумом
    if d >= h: # если найденная разница больше или равна макс-й, запоминаем как макс. и её начало (h2) окончание (h1)
    h = d
    h1 = l # номер текущего минимума, начало подпосл.
    h2 = i # номер текущего числа, конец подпосл.
    if a[i]

    • @Teacification
      @Teacification 6 месяцев назад

      для нее есть еще решение, отличное от предложенного в разборе.

    • @МихаилАхатов-л9я
      @МихаилАхатов-л9я 5 месяцев назад

      ​@@Teacification Метод частичных сумм?

  • @Big_TM
    @Big_TM 5 месяцев назад +1

    в 17 код отличается но условие одно и тоже, ответ другой: 4663 6115
    вот сам код, мб найдете ошибку кому интересно)
    s = [int(x) for x in open('17_14952.txt')]
    res = []
    mx121 = max(t for t in range(len(s)) if abs(t) % 1000 == 121)
    for i in range(len(s) - 2):
    if (((len(str(s[i])) == 4) \
    and s[i] % 2 == 0) + ((len(str(s[i + 1]))) == 4 and s[i + 1] % 2 == 0) + ((len(str(s[i + 2]))) == 4 \
    and s[i + 2] % 2 == 0))

  • @I_________d7maxz_________I
    @I_________d7maxz_________I 5 месяцев назад

    Задание №14
    for x in range(8):
    s = int(f'{x}1{x}',16) + int(f'{x}3{x}3',8)
    if any(s == 2**i for i in range(30)):
    print(x)

  • @AussiPilot
    @AussiPilot 5 месяцев назад +1

    Почему в 8 задаче в последнем условии стоит "and", если в условии задачи написано "никакие 2 четные ИЛИ 2 нечетные не стоят рядом"?

    • @ClashRoyale-rl8xz
      @ClashRoyale-rl8xz 5 месяцев назад

      тоже интересно стало, составители не хотят ответить?

  • @bambutcha8
    @bambutcha8 5 месяцев назад +1

    Решение 9 задачи программным путём:
    f = open('pro100ege_7.txt')
    k = 0
    for s in f:
    a = sorted([int(x) for x in s.split()])
    if len(set(a)) == 5:
    if ((a[0] + a[4])*2)

  • @Just-A-Genius
    @Just-A-Genius 6 месяцев назад

    как номер 15 сделать руками?

  • @yabadaba0
    @yabadaba0 5 месяцев назад

    можете сказать какому знаку неравенства соответствуют слова: не больше, не меньше, более, менее, не более, не менее, больше, меньше?

    • @bimbimbim_16
      @bimbimbim_16 5 месяцев назад

      не больше =, более >, менее , меньше

    • @yabadaba0
      @yabadaba0 5 месяцев назад

      @@bimbimbim_16 спасибо

  • @plxzip
    @plxzip 4 месяца назад

    27 всё "понятно"

  • @hhhhhhhh1llll
    @hhhhhhhh1llll 5 месяцев назад

    как 17 решить?

    • @justeun_homme
      @justeun_homme 5 месяцев назад

      a = [int(x) for x in open('252.txt')]
      ans = []
      b = [s for s in a if(abs(s)%1000==121)]
      nini= max(b)
      for i in range(len(a)-2):
      if (((1000

  • @МихаилАхатов-л9я
    @МихаилАхатов-л9я 5 месяцев назад

    Спасибо за варик. Забрал свои 98 баллов, 15 задание по невнимательности запорол. Ну а с 27 вы намудрили со списками, надо было всë на лету делать

  • @yousee6863
    @yousee6863 4 месяца назад

    пора бы заканчивать вам с преподаванием и программированием в целом

  • @moduleee
    @moduleee 5 месяцев назад

    27-ую можно попроще
    f = open('files/test.txt')
    f = open('files/27_A_14960.txt')
    f = open('files/27_B_14960.txt')
    N = int(f.readline())
    a = [int(i) for i in f]
    l = q = mc = 0
    mq = float('-inf')
    c = 1
    for r in range(1, N):
    c += 1
    q += a[r] - a[r-1]
    if q = mq:
    mq = q
    mc = c
    print(mq, mc)