СПРОСИ ПРОФИ
👍
−1
👎 -11

Задание 26 ЕГЭ информатика

f = open('26.txt')
n,m = map(int,f.readline().split())
a = []
for s in f:
a.append(int(s))
a.sort()
k = 0
sm = 0
j = -1
for i in range(n):
if a[i] >= 200:
j = i
break
for i in range(j,n):
if a[i] ⇐ 210:
k += 1
sm += a[i]
else:
break
sm1 = 0
i1 = -1
for i in range(0,j):
if sm1 + a[i] ⇐ m — sm:
k += 1
sm1 += a[i]
else:
i1 = i
break
i = i1
j1 = i1-1
mx = sm1+sm
while i < j:
if a[i] ⇐ a[i1-1]+(m-sm-sm1):
i += 1
else:
break
i -= 1
while j1 > 0:
mx = max(mx,sm+sm1-a[j1]+a[i])
j1 -= 1
print(k,mx)
(Сам текст задания в файле, выводит правильно только «к», а «mx» должен быть ровно 10000, а у меня выходит 10110)
Скажите, пожалуйста, где ошибка в коде.

ЕГЭ по информатике информатика обучение     #1 ⇒   10 мар 2024 17:28   Увидели: 65 клиентов, 1 специалист   Ответить
👍
−1
👎 -1

София, вы показали свой код опять с уничтоженной разметкой и без всяких комментариев по своим обозначениям и алгоритму, к тому же не предоставили прямую ссылку на файл входных данных. Если вы не желаете облегчить читателю восприятие информации, то и специалисты будут вас игнорировать, потому что никому не интересно разыскивать эти данные, а потом ещё и гадать или тупо перебирать варианты с целью выяснить, какова у вас была разметка.
Более того, на доступной вам странице решения этой задачи наверняка есть образец кода – и возможно даже на том же языке программирования, так что при должном внимании для вас не составит труда сравнить его с вашим и найти свою ошибку.

P.S. Вам правда в глаза, что ли, колет? Если будете продолжать ставить дизлайки, то вам на этом ресурсе вообще отвечать не будут, даже если научитесь задавать хорошие вопросы.

Задайте свой вопрос по информатике
профессионалам

● Сейчас онлайн 75 репетиторов по информатике
Получите ответ профи быстро и бесплатно

Другие вопросы на эту тему:

👍
0
👎 0

Задание 24   3 ответа

Текстовый файл содержит только заглавные буквы латинского алфавита
(ABC…Z). Определите максимальное количество идущих подряд символов,
среди которых каждая из букв A и B встречается не более двух раз.

f = open('24.txt')
s = f.readline().strip()
mx = 0
a = s.split('A')
for i in range(len(a)-2):
if a[i].count('B') + a[i+1].count('B') + a[i+2].count('B') ⇐ 2:
mx = max(mx,len(a[i]+a[i+1]+a[i+2])+2)
print(mx)
что можно сделать?

  15 янв 2024 18:33  
👍
0
👎 0

№5 ЕГЭ по информатике   1 ответ

Помогите, пожалуйста решить задачу. У меня выводит ошибку при переведении числа в int. При решении не используйте рекурсию и def()
(в файле моё решение)

Автомат обрабатывает десятичное натуральное число N по следующему алгоритму:
1) Строится двоичная запись числа N.
2) К полученному числу справа дописывается 0, если в числе единиц больше, чем нулей; иначе дописывается 1.
3) Из середины двоичного числа убирается 2 разряда,…

  30 мар 2023 18:32  
ASK.PROFI.RU © 2020-2026