#P11116. [ROI 2024] 割草 (Day 2)

[ROI 2024] 割草 (Day 2)

Description

在启动机器人之前,可以将某些机器人的方向更改为相反方向。为了割光整个草坪,你需要确定最少需要改变方向的机器人数量,使得最终整个草坪都能被割光。如果无论如何都无法使得整个草坪被割完,输出 -1

Input Format

第一行包含一个整数 nn2n1052 \leq n \leq 10^5),表示机器人的数量。

接下来的 nn 行,每行描述一个机器人,按从左到右的顺序给出。每个机器人由三个整数 xix_i, pip_i, did_i 描述,它们分别是机器人的初始位置、它可以行驶的距离以及行驶方向(0=x1<x2<<xn1090 = x_1 < x_2 < \cdots < x_n \leq 10^91pi1091 \leq p_i \leq 10^9di=1d_i = -1 表示向左行驶,di=1d_i = 1 表示向右行驶)。草坪的起始点和终点分别位于点 x1=0x_1 = 0xnx_n

Output Format

无法割光整个草坪,输出 -1。否则,输出一个数字,表示需要更改方向的机器人的数量,使得草坪能被割光。

3
0 1 -1
1 1 1
2 1 -1
1
2
0 1 1
4 2 -1
-1

Hint

样例 11 与题目背景中图片的情形一致,可以通过改变中间机器人的方向来使得所有草坪都被割完。

子任务 分值 特殊性质
11 2323 n10n\le10
22 1616 di=1d_i=1
33 1717 n1000n\le1000
44 1313 xi=i1,pi=1x_i=i-1,p_i=1
55 1414 pi=109p_i=10^9
66 1717

对于 100%100\% 的数据,范围见输入格式。