Решение задачи "Экзамены" с Acmp

Без пояснения   Просмотров: 20


Вступительные испытания в вуз состоят из трех экзаменов – математики, информатики и русского языка. На каждом из них абитуриент может набрать от одного до ста баллов. По результатам сдачи экзаменов составляется экзаменационная ведомость, где для каждого студента указывается фамилия и баллы за каждый экзамен. Для определения лучших абитуриентов, данная ведомость сортируется по сумме набранных баллов по убыванию за все экзамены, а если сумма баллов совпадает – по фамилии (в алфавитном порядке, по убыванию). После чего первые M абитуриентов из списка зачисляются на первый курс и становятся студентами!

Ваша задача – по экзаменационной ведомости определить фамилию и сумму баллов последнего зачисленного абитуриента.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    long long n, m, t1, t2, t3;
    cin >> n >> m;
    vector<long long> a(n);
    vector<string> res(n);
    for(int i = 0; i < n; ++i){
        cin >> res[i] >> t1 >> t2 >> t3;
        a[i] = t1 + t2 + t3;
    }
    for(int i = 0; i < n - 1; ++i){
        for(int j = i + 1; j < n; ++j){
            if(a[i] < a[j]){
                swap(a[i], a[j]);
                swap(res[i], res[j]);
            }
            if(a[i] == a[j]){
                if(res[i] < res[j]){
                    swap(a[i], a[j]);
                    swap(res[i], res[j]);
                }
            }

        }
    }
    cout << res[m - 1] << " " << a[m - 1];
    return 0;
}

         

 Администратор Photo Автор: Администратор


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

Комментарии

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