Предмет: Информатика, автор: 3shami3

жостка нада C++

В коробке, заполненной N картами, некоторые с 1, некоторые с 0, а некоторые с -1, мы столкнулись со сложной задачей. Нам нужно было выбрать K карт, чтобы максимизировать сумму их номеров.


Входные данные

Первая строка содержит N и K (0≤N,K≤2×109

)


Выходные данные

Выведите максимально возможную сумму чисел, написанных на выбранных K карточках.


Примеры

входные данныеСкопировать

4 3

1 -1 1 0

выходные данныеСкопировать

2

входные данныеСкопировать

6 4

-1 -1 0 0 1 -1

выходные данныеСкопировать

0

Ответы

Автор ответа: gottdeaq
0

Для розв'язання цієї задачі можна використати наступний підхід:

1. Створити список `cards`, який буде містити значення номерів на картах.

2. Відсортувати список `cards` в порядку зростання.

3. Обрати перші `K` елементів зі списку `cards`, які мають найменші значення.

4. Пройтись по цим `K` обраним карточкам і обчислити їх суму.

5. Вивести отриману суму.

Ось реалізація даного алгоритму на Python:

```python

N, K = map(int, input().split())

cards = list(map(int, input().split()))

cards.sort()  # Сортуємо карточки

sum_of_numbers = sum(cards[:K])  # Обчислюємо суму перших K карточок

print(sum_of_numbers)  # Виводимо результат

```

Вхідні дані мають бути введені з клавіатури, а результат буде виведений на екран. У першому рядку введення потрібно вказати значення `N` та `K`, розділені пробілом. У другому рядку введення необхідно вказати значення кожної карти, розділені пробілом.

Будь ласка, зверніть увагу, що цей код не містить перевірок на відповідність вхідних даних обмеженням, описаним у завданні. В реальних проектах рекомендується додати перевірки на коректність вхідних даних.

Похожие вопросы
Предмет: Математика, автор: aminka711