Восстание газонокосилок
시간 제한1초메모리 제한2048 MB
선분 위 로봇들의 방향을 정해 모든 잔디를 깎으면서 방향을 바꾸는 로봇 수를 최소로 줄이는 문제.
문제
Газоны в Иннополисе косят электрические роботы-газонокосилки. Будем считать, что газон представляет собой отрезок числовой прямой, на котором в некоторых точках расположены роботы-газонокосилки. Размером роботов можно пренебречь. Один из роботов стоит в начале газона (левее него газона нет), и один --- в конце (правее него газона нет). Каждый робот изначально ориентирован в одном из двух направлений: либо направо, либо налево.

Заряда -го робота хватает для обработки метров газона. После ночной зарядки все роботы начинают работать одновременно и движутся с одинаковой скоростью. Каждый робот движется в своём направлении вдоль прямой. Робот останавливается в одном из трёх случаев:
- Если у робота закончился заряд. Иными словами, если -й робот проехал метров от точки старта.
- Если робот доехал до начала или конца газона.
- Если робот встретился в одной точке с другим роботом, который двигался ему навстречу или остановился в этой точке ранее.
Перед запуском роботов вы можете поменять направление некоторых из них на противоположное. Требуется скосить траву на всём газоне.
Определите, у какого минимального количества роботов нужно поменять направление, чтобы в итоге вся трава на газоне оказалась скошена. Иначе сообщите, что всю траву скосить невозможно.
입력
В первой строке содержится целое число () --- количество роботов.
В следующих строках содержатся описания роботов в порядке их расположения на прямой слева направо. Каждый робот характеризуется тремя целыми числами , , : начальной позицией робота, количеством метров, которые он может проехать, и направлением движения (, , значение обозначает движение налево, в направлении уменьшения координаты, обозначает движение направо, в направлении увеличения координаты). Начало и конец газона находятся в точках и соответственно.
출력
В единственной строке необходимо вывести , если скосить всю траву на газоне невозможно. Иначе, нужно вывести одно число --- количество роботов, у которых нужно изменить направление на противоположное, чтобы газон был скошен.
힌트
Первый пример изображен на рисунке. Для того, чтобы скосить всю траву, можно, например, развернуть робота, который стоит посередине.