• Вася учится в 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 митрича.
    Один митрич равен силе знаменитого программиста Петра Митричева.

Ответы 1

  • #include <iostream>#include <algorithm>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;}
    • Автор:

      danny
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years