СПРОСИ ПРОФИ
👍
−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   Увидели: 6 клиентов, 1 специалист   Ответить
👍
−1
👎 -1

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

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

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

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

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

👍
0
👎 03

Задание 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
👎 01

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

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

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

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