Задача №113693. Вода
Кто возьмет билетов пачку,
Тот получит водокачку!
из к/ф «Бриллиантовая рука»
Виталий является директором небольшой водопроводной компании. Он работает на водокачке. Водокачка представляет собой цилиндр высотой \(H\) метров, изначально целиком заполненный водой.Водокачка очень старая, поэтому в ней постоянно появляются дыры. Периодически Виталий устраняет некоторые течи. Виталия как директора очень интересует уровень воды в водонапорной башне, но каждый раз лезть по лестнице, чтобы заглянуть в башню, ему не хочется.
Напишите программу, которая могла бы обрабатывать следующие запросы:
- В момент времени \(t\) появилась течь на высоте \(h\) со скоростью вытекания воды \(v\).
- В момент времени \(t\) Виталий устранил все течи на высоте \(h\).
- В момент времени \(t\) Виталий хотел бы узнать уровень воды.
В первой строке входного содержится два целых числа \(n\) и \(H\) (\(1 \le n \le 10^5 ; \ 1 \le H \le 10^9 )\) — количество запросов и высота водонапорной башни. Далее следуют n строк описывающих запросы. В каждой строке первое число \(k \ (1 \le k \le 3)\) — номер типа запроса. Далее в строке в зависимости от запроса идут от одного до трех целых чисел из \(t, \ h \ и \ v \ (0 \le t \le 10^9 ; \ 0 \le h \le H; \ 1 \le v \le 10^9\)). Запросы перечислены в порядке увеличения времени и никакие два запроса не имеют одинаковое время.
На каждый запрос третьего типа выведите одно число — уровень воды в водонапорной башне в соответствующий момент времени.
Ответ должен иметь относительную или абсолютную точность \(10^{−9}\). Это означает, что если правильный ответ равен \(a\), а выведено \(p\), то значение будет признано правильным, если \(\frac{|a \ − \ p|}{max(a, \ 1)} \le 10^{−9}\).
6 10 1 0 1 2 3 1 3 2 2 3 1 3 4 3 5
8.0 6.0 4.0 4.0