Задача K. Steam Sale

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

Условие

Наступила великая распродажа Steam, а на счету ровно 1000 рублей. Игр много, денег мало, а играть хочется во всё сразу!

Есть N игр в вишлисте. Каждая игра имеет:

Но есть проблема: игру можно либо купить целиком, либо отложить на следующую распродажу (частичная оплата не принимается).

Цель — купить набор игр так, чтобы:

  1. Не превысить бюджет 1000₽
  2. Собрать максимум удовольствия (стать самым довольным геймером)

В базе данных хранится таблица игр:


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), где:

Для тестовой базы корректный запрос вернёт:

(10000, 'Baldurs Gate 3, Elden Ring', 1000)

Ограничения

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


0.036s 0.010s 17