| Автор: | М. Постникова | Ограничение времени: | 2 сек | |
| Входной файл: | test.sql | Ограничение памяти: | 256 Мб | |
| Выходной файл: | test.log |
Наступила великая распродажа Steam, а на счету ровно 1000 рублей. Игр много, денег мало, а играть хочется во всё сразу!
Есть N игр в вишлисте. Каждая игра имеет:
Но есть проблема: игру можно либо купить целиком, либо отложить на следующую распродажу (частичная оплата не принимается).
Цель — купить набор игр так, чтобы:
В базе данных хранится таблица игр:
CREATE TABLE games (
id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price INTEGER NOT NULL,
fun_points INTEGER NOT NULL
);
Необходимо определить оптимальный набор игр для покупки.
Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.
Запрос должен вернуть кортеж (max_fun, games_bought, total_price), где:
max_fun — максимальное количество баллов удовольствия;games_bought — названия купленных игр через запятую;total_price — итоговая стоимость.Для тестовой базы корректный запрос вернёт:
(10000, 'Baldurs Gate 3, Elden Ring', 1000)
Предполагается, что для работы с базой данных используется SQLite3.