Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Maxim31
0 / 0 / 0
Регистрация: 07.09.2019
Сообщений: 2
1

В выходной файл вывести максимальный возможный суммарный вес оставшихся груш.

07.09.2019, 15:18. Просмотров 978. Ответов 8
Метки нет (Все метки)

У Саши есть N груш. Друзья попросили у Саши M груш. Помогите ему выбрать груши, которые нужно отдать, чтобы суммарный вес оставшихся груш был максимальным возможным.

Формат вводных данных:
На первой строке входного файла даны два числа N и M (1=<K=<N=<10000) - количество груш у Саши и кол-во груш, которые нужно отдать. На второй строке дано N чисел в пределах от 1 до 10 - веса груш. Числа в строках разделены пробелами.

Формат выходных данных:
В выходной файл выведите одно число - максимальный возможный суммарный вес оставшихся груш.

Пояснение:
У Саши есть 5 груш, весом 6, 9, 4, 3, 1. Друзья попросили у него 3 груши. Выгоднее всего отдать груши весом 4, 3, 1. Тогда суммарный вес груш будет наибольшим возможным.

_________
Только недавно начал изучать языки программирования, а вот такую задачу на паскале уже несколько дней не могу сделать. Видимо плохо изучаю c:, не поможете? Желательно объяснить, что к чему) Буду очень благодарен!
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2019, 15:18
Ответы с готовыми решениями:

Вывести на экран суммарный вес капусты, собранный на каждом участке
на станции юных натуралистов выращивали разные сорта капусты. на первом участке было выращено 15...

Для каждого статуса поставщика посчитать суммарный вес, средний вес и количество уникальных заказных товаров
Вот таблицы spool cre_demo.log CONNECT demo/demo@ORCL prompt prompt Creating table ПОСТАВЩИКИ...

Запросить имена, вес и рост трех ваших друзей, найти их суммарный вес и рост
ПОМОГИТЕ ПОЖАЛУЙСТА Программа запрашивает имена, вес и рост трех ваших друзей, находит их...

дан входной текстовый файл. Вывести в выходной файл строку с максимальным количеством слов
Дан входной текстовый файл (одна строка – одно предложение). Вывести в выходной файл строку...

Определить суммарный вес всей пойманной рыбы
Всем привет. В общем, не могу сообразить как решить данную задачу: Даны 2 структуры. 1ая структура...

8
Sun Serega
674 / 452 / 225
Регистрация: 07.04.2017
Сообщений: 1,951
07.09.2019, 15:51 2
Pascal
1
2
3
4
5
6
7
8
begin
  
  var (N, M) := ReadInteger2;
  var A := ReadArrInteger(N);
  A.Sort;
  A.Skip(M).Sum.Print;
  
end.
Насчёт объяснения - наводите мышку на непонятные имена, у всего есть подсказки.
А если не поможет - спрашивайте что то конкретное, на "всё непонятно" - ответить не выйдет.
2
Maxim31
0 / 0 / 0
Регистрация: 07.09.2019
Сообщений: 2
07.09.2019, 16:43  [ТС] 3
А как поставить ограниченичение на N? В условиях N - число от 1 до 10. Не могли бы вы написать подробнее в плане функций. Я привык, что var пишется до begin end, и к массиву как array [1..N] of ...
Pascal
1
2
A.Sort;
  A.Skip(M).Sum.Print;
0
Sun Serega
674 / 452 / 225
Регистрация: 07.04.2017
Сообщений: 1,951
07.09.2019, 17:27 4
Лучший ответ Сообщение было отмечено Maxim31 как решение

Решение

Цитата Сообщение от Maxim31 Посмотреть сообщение
В условиях N - число от 1 до 10
Вы как читали?
Цитата Сообщение от Maxim31 Посмотреть сообщение
N=<10000
Ограничения там не к чему. Они прописаны только чтоб знать какие типы переменных можно использовать.
На современных компах все типы чисел меньше integer - работают значительно медленнее, а в integer тут всё помещается, поэтому его всюду и использую.

Цитата Сообщение от Maxim31 Посмотреть сообщение
var пишется до begin end
Цитата Сообщение от Maxim31 Посмотреть сообщение
array [1..N] of
Это было оправданно более десятилетия назад.

Глобальные переменные (var до begin-end.) работают в несколько раз медленнее локальных. Во сколько - зависит от процессора, и от того - как грамотно реализовано кеширование стека. Но локальные переменные всегда будут быстрее.

А статичные массивы, в PascalABC.Net существуют только для совместимости со старыми паскалями (которые, опять же, сдохли уже больше десятилетия назад). Они всё равно реализованы через динамичный массивы, поэтому нет ни 1 причины использовать их, если вы не участвуете в конкурсе на самый вонючий говнокод.

В общем нефиг привыкать к такому. И не пытайтесь научится ничему полезному с туториалов и книжек, написанных когда вы ещё под столом ходили.

Из современных ресурсов - начните с презентаций на главной странице:
http://pascalabc.net

Примеров в папке:
C:\PABCWork.NET\Samples

Ну и, разумеется, самой справки.

И, желательно, для начала обновится, если у вас стоит не самая последняя версия:
http://pascalabc.net/ssyilki-dlya-skachivaniya
Обновления выходят примерно раз в неделю, всегда с кучей исправлений компилятора, справки и время от времени новыми примерами, чтоб учиться не на старье - лучше всегда сидеть на последней версии.
1
07.09.2019, 17:27
mr-Crocodile
167 / 124 / 45
Регистрация: 19.03.2019
Сообщений: 399
09.09.2019, 09:54 5
Цитата Сообщение от Maxim31 Посмотреть сообщение
Только недавно начал изучать языки программирования, а вот такую задачу на паскале уже несколько дней не могу сделать.
А для чего ты выбрал PascalABC.NET ?
Цитата Сообщение от Sun Serega Посмотреть сообщение
Глобальные переменные (var до begin-end.) работают в несколько раз медленнее локальных. Во сколько - зависит от процессора, и от того - как грамотно реализовано кеширование стека. Но локальные переменные всегда будут быстрее.
ты реально считаешь, что задача с сортировкой массива на 10000 элементов будет медленнее работать на глобальных переменных, чем на локальных ?!
И насколько медленнее? На 1 мс?

Никоим образом не хочу устраивать диспут и holy war, но, на мой взгляд, это совершенно не существенно в плане изучения ЯВУ.
0
Sun Serega
674 / 452 / 225
Регистрация: 07.04.2017
Сообщений: 1,951
09.09.2019, 12:35 6
Глобальные переменные это говнокод. В данном случае они хоть и не дают особо существенной разницы, но:
1. Нефиг привыкать говнокодить, если можно сразу учится правильно.
2. Нет смысла делать код хуже, локальные переменные ни чем не сложнее.
3. Переменная должна описываться прямо перед (или при) первом использовании. Это одно из простейших правил писания не_говнокода, на ровне с однообразным форматированием кода.

А образ мышления "не думайте об этом, научитесь писать правильно как то потом" - не работает, поэтому фокусировать внимание на этом - нужно. Те кто обучены на говнокоде - превращаются в сверхразумов, которые юзают что то вроде юнити и принимают за должное то что у них сцена с сотней объектов лагает.
0
mr-Crocodile
167 / 124 / 45
Регистрация: 19.03.2019
Сообщений: 399
09.09.2019, 14:28 7
Цитата Сообщение от Sun Serega Посмотреть сообщение
Переменная должна описываться прямо перед (или при) первом использовании. Это одно из простейших правил писания не_говнокода, наравне с однообразным форматированием кода.
Это допустимо только в .NET (и в PascalABC.NET).
во всех остальных Паскалях в коде переменную описать нельзя.
Плохо это или хорошо, но это сделано специально, чтобы отделить блок описания от кода,
ибо так было задумано Никласаум Виртом.

Впрочем, я услышал ваше мнение.
Вполне обосновано.
Спорить не буду.
0
kotAV
111 / 84 / 43
Регистрация: 15.09.2017
Сообщений: 369
Завершенные тесты: 5
09.09.2019, 20:16 8
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
Это допустимо только в .NET (и в PascalABC.NET).
Ну так этот раздел как раз по нему.
0
mr-Crocodile
10.09.2019, 10:19     В выходной файл вывести максимальный возможный суммарный вес оставшихся груш.
  #9

Не по теме:

Цитата Сообщение от kotAV Посмотреть сообщение
Ну так этот раздел как раз по нему
я знаю. Поэтому и не спорю.

0
10.09.2019, 10:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2019, 10:19
Привет! Вот еще темы с ответами:

Вычислить суммарный вес каждой коробки конфет
Доброго времени суток! помогите пожалуйста найти ошибку в программе! Задание такое: Дан список...

Написать программу, определяющий суммарный вес камней
1 Задача!!! Один древний правитель, решил построить в свою честь пирамиду, для ее постройки, он...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.