Задача H. Спасти шоу Мистера Биста

Автор:Курбатов А.Н.   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  

Условие

До запуска нового грандиозного шоу Мистера Биста «Остров на выживание» осталось совсем немного времени. Сценаристы и продюсеры уже отобрали идеальныx кандидатов, прошедших серию предварительных испытаний.

Однако в результате технического сбоя на главном сервере таблица с финальным списком участников была безвозвратно удалена. К счастью, данные о претендентах и логи прохождения испытаний в таблицах candidates и activity_logs полностью уцелели.

Вам, как главному дата-аналитику команды, поручено срочно восстановить точный список участников. Мистер Бист лично утвердил жесткий алгоритм отбора:

1. Критерий прогресса: В шоу могут попасть только те кандидаты, которые успешно завершили все 3 этапа испытаний, причем их результаты строго росли от этапа к этапу (балл за 2-й этап должен быть строго выше, чем за 1-й, а балл за 3-й — строго выше, чем за 2-й).

2. Ограничение количества участников: Шоу международное, поэтому от одной страны может поехать не более 3 человек. В квоту попадают участники с наибольшим суммарным количеством баллов за все 3 этапа.

3. Разрешение ничьих: Если у кандидатов из одной страны совпадает общая сумма баллов, приоритет отдается тому, кто потратил суммарно меньше времени duration_seconds на прохождение всех испытаний. Если совпадает и время, выбор делается в пользу кандидата с меньшим candidate_id.


CREATE TABLE candidates (
    candidate_id INTEGER PRIMARY KEY AUTOINCREMENT,
    full_name TEXT NOT NULL,
    country TEXT NOT NULL,
    age INTEGER NOT NULL
);

CREATE TABLE activity_logs (
    log_id INTEGER PRIMARY KEY AUTOINCREMENT,
    candidate_id INTEGER NOT NULL,
    stage_number INTEGER NOT NULL CHECK (stage_number BETWEEN 1 AND 3),
    score INTEGER NOT NULL CHECK (score BETWEEN 0 AND 100),
    duration_seconds INTEGER NOT NULL CHECK (duration_seconds > 0),
    FOREIGN KEY (candidate_id) REFERENCES candidates(candidate_id)
);

Схема БД в UML-нотации:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Формат входного файла

Пример тестовой БД.

Формат выходного файла

Результат должен быть отсортирован по названию страны в алфавитном порядке, а внутри страны - по возрастанию локального порядкового номера (от 1 до 3).

Ограничения

Предполагается, что для работы с базой данных используется SQLite3.


0.057s 0.011s 17