Вопрос задан 30.09.2026 в 07:35.
Предмет Информатика.
Спрашивает Мосяга Полина.
ПОМОГИТЕ!!!!
Даны натуральное число N - длина массива, k, s - номера элементов массива, отчет начинается с 1 (Числа вводятся через
пробел). На следующей строке записан массив целых чисел, каждый элемент которого записан через пробел.
Является ли s-й элемент массива положительным числом (ответ YES/NO)
Какой элемент массива больше: k-й или s-й ? (ответ("k"/"s"/"draw"(в случае если они равны))
Сначала выводиться (YES/NO), затем, на следующей строчке ("k"/"s"/"draw"(в случае если они равны))
МОЯ ПРОГА:
n, k, s = map(int, input().split())
mas = input().split()
for i in range(len(mas)):
mas[i] = int(mas[i])
for i in range(n):
if mas[s] > 0:
print('YES')
else:
print('NO')
for i in range(n):
if mas[k] > mas[s]:
print('k')
elif mas[k] < mas[s]:
print('s')
else:
print('draw')
ОНА ВЫВОДИТ:
YES
YES
YES
YES
YES
s
s
s
s
s
А сам вывод должен быть только с 'YES' и 's'
В чем ошибка проги?
Ответы на вопрос
Отвечает Дробышев Георгий.
Ошибка в двух местах.
- В Python индексы начинаются с 0, а в задаче номера элементов начинаются с 1. Значит, нужно брать не mas[s], а mas[s - 1], и не mas[k], а mas[k - 1].
- Циклы for здесь не нужны. Из-за них ответ печатается n раз.
Правильный вариант:
n, k, s = map(int, input().split())
mas = list(map(int, input().split()))
k -= 1
s -= 1
if mas[s] > 0:
print('YES')
else:
print('NO')
if mas[k] > mas[s]:
print('k')
elif mas[k] < mas[s]:
print('s')
else:
print('draw')
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

