Постановка проблемы (https://www.hackerearth.com/problem/algorithm/remove-friends-5)
Я застрял в этой проблеме. Пожалуйста, укажите, что не так и что можно сделать для получения правильного результата.
Спасибо за помощь
Получив докторскую степень, Христос ie стал знаменитостью в своем университете и ее профиль на Фейсбуке полон запросов на добавление в друзья. Будучи милой девушкой, она есть, Христос ie принял все запросы.
Теперь Кулдип завидует тому вниманию, которое она получает от других парней, поэтому он просит ее удалить некоторых парней из нее. список друзей. Чтобы избежать «сцены», Христос ie решает удалить некоторых друзей из списка своих друзей, так как она знает популярность каждого из своих друзей, она использует следующий алгоритм для удаления друга.
Алгоритм удаления (друг):
DeleteFriend=false
for i = 1 to Friend.length-1
if (Friend[i].popularity < Friend[i+1].popularity)
delete i th friend
DeleteFriend=true
break
if(DeleteFriend == false)
delete the last friend
Входные данные: Первая строка содержит число тестовых случаев. Первая строка каждого теста содержит N, количество друзей, которых Христос ie имеет в настоящее время, и K, количество друзей, которых Христос ie решает удалить. Следующие строки содержат популярность ее друзей, разделенных пробелом.
Вывод: Для каждого теста выведите NK-цифры, которые представляют популярность друга ie Христа после удаления K друзей.
ПРИМЕЧАНИЕ Порядок друзей после удаления необходимо сохранить ровно K друзей, как указано на входе.
ОБРАЗЕЦ ВХОДА:
3
3 1
3 100 1
5 2
19 12 3 4 17
5 3
23 45 11 77 18
ОБРАЗЕЦ ВЫХОДА
100 1
19 12 17
77 18
МОЕ РЕШЕНИЕ:
import collections as col
def delete(n, k, frnd):
temp = []
while k!=0:
for f in frnd:
if f<f+1:
del frnd[f]
k -= 1
temp.append(frnd)
print(" ".join(map(str, temp)))
for i in range(int(input())):
n, k = (map(int, input().split()))
frnd = col.deque(list(map(int, input().split())))
delete(n, k, frnd)