мороженле
03.04.2020 00:23

На языке python!
юный биолог андрей собирается в экспедицию. у него имеется n
предметов, которые он хотел бы взять с собой. к сожалению, все их взять невозможно, поскольку в рюкзак помещается только m предметов. поняв это, андрей для каждого предмета i определил его полезность в экспедиции pi. теперь осталось выяснить, какие же предметы нужно взять, чтобы их суммарная полезность была максимальной, а их количество не превосходило m.
формат ввода:
первая строка содержит 2 натуральных числа n и m, 2 ≤ n ≤ 106, 1 ≤ m < n. вторая строка содержит n натуральных чисел pi, 1 ≤ pi ≤ 106.
формат вывода:
в единственной строке требуется в порядке невозрастания вывести полезности тех предметов, которые нужно взять.
пример:
ввод - 6 4
9 9 12 11 7 11
вывод - 12 11 11 9

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
luizaorlova99
27.01.2024 08:28
Добрый день! Давайте решим задачу по шагам:

1. Сначала прочитаем входные данные. В первой строке заданы числа n и m, разделенные пробелом. Вторая строка содержит n чисел, разделенных пробелом, это значения полезности предметов. Примем эти значения и запишем их в переменные n, m и items:

```python
input_line1 = input().split()
n = int(input_line1[0])
m = int(input_line1[1])

input_line2 = input().split()
items = [int(item) for item in input_line2]
```

2. Создадим список indexes, который будет содержать индексы предметов в порядке невозрастания полезности:

```python
indexes = sorted(range(n), key=lambda x: items[x], reverse=True)
```

3. Создадим пустой список result, в котором будем хранить индексы предметов, которые нужно взять:

```python
result = []
```

4. Пройдемся по индексам предметов в порядке невозрастания полезности и добавим их в список result, пока его размер не превысит m:

```python
for i in indexes:
if len(result) < m:
result.append(i)
else:
break
```

5. Выведем значения полезности предметов в порядке, заданном списком result:

```python
for i in result:
print(items[i], end=' ')
```

Теперь, когда у нас есть подробное пошаговое решение, я надеюсь, что школьнику будет понятно, как работает программа. Если есть какие-либо вопросы или что-то не ясно, пожалуйста, дайте знать!
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота