Задача F. Распределение сервиторов по техножрецам с бонусом за эффективность

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

Условие

Магос Доминус проводит аудит техножрецов Фордж-мира Марс. Каждый техножрец отвечает за обслуживание и контроль группы сервиторов. Для оптимизации распределения ресурсов и расчёта бонусов необходимо получить аналитическую информацию по каждому техножрецу.

В базе данных имеются две таблицы:

CREATE TABLE tech_priests (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    rank TEXT,
    forge_world TEXT,
    ordination_year INTEGER
);
CREATE TABLE servitors (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    tech_priest_id INTEGER,
    model TEXT,
    operating_hours INTEGER,
    efficiency INTEGER,
    status TEXT,
    FOREIGN KEY (tech_priest_id) REFERENCES tech_priests(id)
);

Для каждого техножреца необходимо рассчитать:

Вывести только техножрецов, у которых количество сервиторов >= 2. Отсортировать по бонусу DESC.

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

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

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

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

Для тестовой базы корректный запрос вернёт следующее: tech_priest_name|servitor_count|avg_efficiency|total_hours|bonus|category Magos Alpha-7|4|88.8|5630|355.0|Magos Tech-Priest Epsilon|4|87.3|10250|349.0|Magos Tech-Priest Beta-Kappa|4|67.0|3090|268.0|Senior Magos Delta-Rho|3|86.0|3800|258.0|Magos Magos Zeta-2|2|95.5|380|191.0|Magos Enginseer Gamma-9|2|70.0|1320|140.0|Senior

Ограничения

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


0.037s 0.011s 17