Задача 04J. Синий угол

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

Условие

На известном автомобильном рынке `Синий угол` кипит жизнь. Плотный поток продаж и покупок делают хороший поток прибыли. Однако нечестные продавцы иногда снижают пробег автомобилей, чтобы набить цену! И некоторые наглеют настолько, что пробег после использования некоторым владельцем становится меньше, чем до того, как автомобиль попал к владельцу.

Благо, записи о сделках хранят в себе информацию о пробеге авто в момент покупки.

Ваша задача выяснить, сколько пробега было гарантированно скручено с каждого автомобиля, занесённого в базу. Так как объём авто большой, то те автомобили, для которых доказать факт мошенничества не получается, попасть в выборку не должны.


    CREATE TABLE AUTO (
        id INTEGER NOT NULL PRIMARY KEY,
        model VARCHAR(255) NOT NULL,
        year VARCHAR(255) NOT NULL,
        registration_number VARCHAR(255)
    );

    CREATE UNIQUE INDEX auto_registration_number
        ON auto(registration_number);

    CREATE TABLE sellrecord (
        id INTEGER NOT NULL PRIMARY KEY,
        odometer INTEGER NOT NULL,
        price INTEGER NOT NULL,
        auto_id INTEGER NOT NULL REFERENCES auto(id),
        "date" DATE NOT NULL
    );

    CREATE INDEX sellrecord_auto_id ON sellrecord(auto_id);

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

Результатом выполнения запроса должен быть список кортежей (model, (количество скрученного пробега)), отсортированных по убыванию пробега.

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

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

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

Ограничения

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


0.079s 0.011s 19