Эффективная сортировка
Начинаю изучать Python самостоятельно, решаю задачу:
Требуется написать программу, определяющую, какие клавиши сломаются в процессе заданного варианта эксплуатации клавиатуры.
Входные данные
Первая строка входных данных содержит целое число n (1≤n≤100) — количество клавиш на клавиатуре. Вторая строка содержит n целых чисел — c1,c2,…,cn, где ci(1≤ci≤100000) — количество нажатий, выдерживаемых i-ой клавишей. Третья строка содержит целое число k (1≤k≤100000) — общее количество нажатий клавиш, и последняя строка содержит k целых чисел pj(1≤pj≤n) — последовательность нажатых клавиш.
Выходные данные
Необходимо вывести n строк, содержащих информацию об исправности клавиш. Если i-ая клавиша сломалась, то i-ая строка должна содержать слово “yes” (без кавычек), если же клавиша работоспособна — слово “no”.
Примеры
Ввод
5 1 50 3 4 3 16 1 2 3 4 5 1 3 3 4 5 5 5 5 5 4 5Вывод
yes no no no yes
Написала программу, но в программе сдачи пишет, что ответ неверный. Хотя в Python Shell всё работает.
n = int(input())
c = list(map(int, input().split()[:n]))
k = int(input())
p = list(map(int, input().split()[:k]))
cnt = [0] * (n+1)
press = list(range(1, n+1))
for el in p:
cnt[el] += 1
cnt.remove(0)
for i in range(n):
if cnt[i] > c[i]:
print('no')
else:
print('yes')
Ответы (1 шт):
n = int(input())
max_num_pressed = list(map(int, input().split()[:n]))
k = int(input())
p = list(map(int, input().split()[:k]))
cnt = [0] * (n+1)
for el in p:
cnt[el-1] += 1
for i in range(n):
if cnt[i] > max_num_pressed[i]:
print('no')
else:
print('yes')
Вот мой код с исправлениями, еще раз спасибо за помощь!