#218. Meetings

0

Meetings

Meetings

题目描述

两座谷仓位于一维数轴上的位置 00 和 LL(1≤L≤1091\le L\le 10^9)。数轴上还有 NN 头奶牛(1≤N≤5⋅1041\le N\le 5\cdot 10^4)位于互不相同的位置(可以将谷仓与奶牛都视为点)。每头奶牛 ii 初始位于位置 xix_i,并以每秒 1 个单位的速度向正方向或负方向移动,用整数 did_i 表示,其取值为 11 或 −1-1。每头奶牛还有一个重量 wiw_i,范围为 [1,103][1,10^3]。所有奶牛始终以恒定速度移动,直到发生以下事件之一: 如果奶牛 ii 到达某个谷仓,那么奶牛 ii 停止移动。 当两头奶牛 ii 与 jj 占据同一个点且该点不是谷仓时,发生一次相遇。在这种情况下,奶牛 ii 被赋予奶牛 jj 之前的速度,反之亦然。注意,奶牛可能在非整数位置相遇。 设 TT 为最早的时刻,使得到达某个谷仓而停止移动的奶牛重量之和至少为所有奶牛重量之和的一半。请确定在时间区间 0…T0 \ldots T(包括时刻 TT)内,奶牛两两之间相遇的总次数。

输入格式

第一行包含两个用空格分隔的整数 NN 和 LL。 接下来 NN 行每行包含三个用空格分隔的整数 wiw_i、xix_i 和 did_i。所有位置 xix_i 互不相同,且满足 0<xi<L0<x_i<L。

输出格式

输出一行,包含答案。

3 5
1 1 1
2 2 -1
3 3 -1
2

提示

评分说明: 测试点 2-4 满足 N≤102N\le 10^2 且对所有 ii 都有 wi=1w_i=1。 测试点 5-7 满足 N≤102N\le 10^2。 样例解释: 本样例中奶牛的移动过程如下: 第一头与第二头奶牛在时刻 0.5 于位置 1.5 相遇。此后第一头奶牛速度变为 −1-1,第二头奶牛速度变为 11。 第二头与第三头奶牛在时刻 1 于位置 2 相遇。此后第二头奶牛速度变为 −1-1,第三头奶牛速度变为 11。 第一头奶牛在时刻 2 到达左侧谷仓。 第二头奶牛在时刻 3 到达左侧谷仓。 由于到达谷仓的奶牛重量之和已至少为所有奶牛重量之和的一半,过程在此终止。第三头奶牛本会在时刻 4 到达右侧谷仓。 恰好发生了两次相遇。 题目来源:Benjamin Qi

标签: USACO|2019|Silver

来源

USACO|2019|Silver