Вопрос по информатике:
Вася учится в 10 классе тридевятой школы и мечтает победить в турнире <Экспонента>.
Этот турнир проводится ежегодно в апреле.
Участвовать в нём могут школьники и студенты.
Вася понимает, что пока ещё недостаточно подготовлен для победы, но готов упорно тренироваться.
Он нашёл в Интернете N задач, для каждой из которых известна её полезность.
Полезность задачи равна количеству наномитричей, на которое её решение увеличивает силу программиста.
К сожалению, Вася не может всё своё время посвятить тренировкам (причины этого вам хорошо известны), так что за оставшиеся до турнира дни он успеет решить только K задач.
Напишите программу, которая по заданным N, K и полезностям задач в наномитричах Mi, i = 1, ..., N вычисляет силу, которую успеет набрать Вася к турниру <Экспонента>.
Исходная сила Васи равна одному наномитричу.
Вход
В первой строке входного файла записаны два целых числа N и K (0 <= N, K <= 10^5).
Во второй строке файла записаны N целых чисел - полезности задач M(1), ..., M(N) (0 <= M(i) <= 10^8).
Выход
Запишите в выходной файл наибольшую силу в наномитричах, которую Вася успеет набрать до турнира <Экспонента>.
Гарантируется, что результат не превысит 1 митрича.
Замечание
Единица программистской силы наномитрич равна 10^-9 митрича.
Один митрич равен силе знаменитого программиста Петра Митричева.
- 10.08.2018 06:31
- Информатика
- remove_red_eye 19015
- thumb_up 17
Ответы и объяснения 1
#include
#include
using namespace std;
const int N = 1e5 + 3;
int m[N];
int main()
{
int n, k;
cin >> n >> k;
k = min(k, n);
for (int i = 0; i < n; ++i)
cin >> m[i];
sort(m, m + n);
reverse(m, m + n);
int ans = 1;
for (int i = 0; i < k; ++i)
ans += m[i];
cout << ans << endl;
return 0;
}
- 11.08.2018 11:02
- thumb_up 8
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.