Задача 03E. Ралли

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

Условие

Как известно, на гоночный турнир «Формула 1» постоянно собирается множество желающих насладиться гонками на высокой скорости, но, к сожалению Российские команды в этом турнире учавствовать не могут, как, впрочем, и смотреть. По этому в России было решено заместить турнир и дать ему новое название «Бэтрайдер 1».

К вам обратилась команда «Ессеньтуки» за помощью в анализе разнообразных марок машин, чтобы на их основе сделать свою, лучшую машину. Для этого у них есть трасса, размеченная специальными регистраторами - участками, находящимися на всех перекрестках и поворотах дорог. Каждый регистратор способен только расспознать, какая марка машины проехала сквозь него и записать марку и время в таблицу Timestamps. Раз регистраторы стоят на всех перекрестках, организаторами было решено посчитать длину трассы между ними и добавить результаты в таблицу Road. Таким образом таблица Timestamps свидетельствует о моменте преодолевания машины определенного регистратора, а Road содержит в себе структуру трассы и расстояние между участками.

По данным из таблиц вам необходимо понять, на какой средней скорости двигались машины, отсортировать их в порядке убывания по ней и вывести упорядоченные марки и соответствующую среднюю скорость в метрах в секунду. Важно помнить, что машина может проехать один участок как несколько раз, так и ни разу.


    CREATE TABLE IF NOT EXISTS Registers (
		id INTEGER PRIMARY KEY AUTOINCREMENT,
		name TEXT NOT NULL
	);
	CREATE TABLE IF NOT EXISTS Cars (
		id INTEGER PRIMARY KEY AUTOINCREMENT,
		name TEXT NOT NULL
	);
	CREATE TABLE IF NOT EXISTS Road (
		reg_1_id INTEGER NOT NULL,
		reg_2_id INTEGER NOT NULL,
		distance INTEGER NOT NULL,
		FOREIGN KEY (reg_1_id) REFERENCES Registers (id),
		FOREIGN KEY (reg_2_id) REFERENCES Registers (id)
	);
	CREATE TABLE IF NOT EXISTS Timestamps (
		reg_id INTEGER NOT NULL,
		car_id INTEGER NOT NULL,
		timestamp DATETIME NOT NULL,
		FOREIGN KEY (reg_id) REFERENCES Registers (id),
		FOREIGN KEY (car_id) REFERENCES Cars (id)
	);

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

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

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

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

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

Ограничения

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

Примеры тестов

Входной файл (test.sql) Выходной файл (test.log)
1
...
[["Jigul", 42], ["Toyota", 38], ["Porsh", 34]]

0.038s 0.010s 19