Сведения о вопросе

Андрей

17:31, 22nd October, 2022

помогите решить задачу на C++

Просмотров: 4000   Ответов: 0

Путешествие на Марс

Андрэ собирается в путешествие на Марс. Он исследователь, поэтому берет с собой на борт космического шаттла много дорогостоящих приборов для проведения различных экспериментов. В космическом шаттле некоторые вещи можно брать с собой в качестве ручной клади, остальное помещается в багажный отсек в качестве багажа.

По правилам космических перевозок масса ручной клади не должна превосходить S кг, а в багаж может быть помещен чемодан любой массы.  Самые ценные вещи Андрэ хочет положить в рюкзак, и взять с собой в ручную кладь.

Андрэ решил выложить все свои вещи и приборы в порядке убывания их ценности и начинает складывать самые ценные вещи в рюкзак. Первым делом он берет самую ценную вещь и, если ее масса не превышает S, кладет ее в рюкзак, а иначе кладет ее в чемодан. Затем он берет следующую по ценности вещь. Если сумма её массы и массы всех вещей, уже находящихся в рюкзаке, не превышает S, то он кладет её в рюкзак, иначе в чемодан. И так далее для всех вещей.

Определите массу рюкзака и чемодана после того, как все вещи будут сложены.

Формат входных данных

В первой строке вводится натуральное число N (N ≤ 10 5 ) – количество предметов

Во второй строке вводится натуральное число S (S ≤ 2 х 10 9 ) – максимально разрешенная масса рюкзака

В следующих N строках даны массы вещей. Гарантируется, что вещи уже упорядочены в порядке убывания ценности и сумма масс всех предметов не превосходит 2 х 10 9 .

Формат результата

2 целых числа – вес рюкзака и вес чемодана на разных строках.

 

Примеры

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

5
20
6
10
5
2
3

Результат работы

18
8


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться