题目描述
在一根数轴上站有 n 个人,我们称第 i 个人的坐标为 xi(xi∈[0,109],xi∈Z),同一个坐标点上可能有多个人。
你现在手上有 m 条信息,第 i 条信息形如 (li,ri,di),含义是第 ri 个人在第 li 个人右数第 di 个坐标点上,换言之,xri−xli=di。
不幸的是,这 m 条信息中的一些可能有误,请你求出是否存在一组 x(x1,x2,x3,…,xn) 满足所有信息。
输入格式
输入格式如下:
输入数据的第一行包含两个以空格分开的整数 n 和 m,分别表示总人数和信息条数;
接下来的 m 行中第 i(1≤i≤m) 行包含三个以空格分开的整数 li,ri,di,表示第 i 条信息是 ri 号人在 li 号人右边 di 个位置上。
输出格式
若存在一组合法的 x,输出一行 Yes
;否则输出一行 No
。
说明
全部的输入数据满足以下条件:
- 1≤n≤100000;
- 0≤m≤200000;
- 1≤li,ri≤n(1≤i≤m);
- 0≤di≤10000(1≤i≤m);
- li=ri(1≤i≤m);
- 如果 i≤j,则有 (li,ri)=(lj,rj),(li,ri)=(rj,lj);
- di 为整数。
样例说明 1
(0,1,2) 与 (101,102,103) 都是合法的解。
样例说明 2
若前两条信息是正确的,则有 x3−x1=2,那么第三条信息就是错误的。
感谢@fbhou 提供的翻译