Задача 06C. Демократия

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

Условие

Правительство Демократического Государства (ДГ) начало специальную военную операцию против некоторого Тоталитарного Ближне-восточного Государства (ТБГ). В рамках этой операции предусмотрено освобождение ТБГ от пагубного нефтяного ресурса. У ДГ есть информация о нахождении нефтяных месторождений, которая получена от двойного агента. Информация хранится в базе данных.

Таблица Locations хранит информацию о нефтяных объектах: расположение (координаты) в километрах, силы противника (численность войск). Таблица Pumps связана с таблицей Locations и хранит информацию о нефтяных насосах (добыча баррелей в неделю).

Десантный отряд армии ДГ высаживается в точке с координатами x = 0, y = 0. Командир отряда приказал найти ближайшие месторождения (не более 300км по прямой), где войск противника будет меньше 500, а объем добычи более 800 баррелей/неделю.


    CREATE TABLE Locations(
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        x INTEGER NOT NULL,
        y INTEGER NOT NULL,
        forces INTEGER NOT NULL,
        pump_id INTEGER,
        FOREIGN KEY (pump_id) REFERENCES Pumps(id)
    );

    CREATE TABLE Pumps(
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        amount INTEGER NOT NULL
    );

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

Запрос должен вернуть дистанцию до месторождения, кол-во войск и объем добычи. Отсортировать по возрастанию дистанции. Дистанцию округлить до целых по правилам математического округления.

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

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

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

Ограничения

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


0.230s 0.016s 17