题目描述
有两个牛棚位于一维数轴上的点 0 0 0 和 L L L 处。同时有 N N N 头奶牛位于数轴上不同的位置(将牛棚和奶牛看作点)。每头奶牛 i i i 初始时位于某个位置 x i x_i xi,并朝着正向或负向以一个单位每秒的速度移动,用一个等于 1 1 1 或 − 1 -1 −1 的整数 d i d_i di 表示。每头奶牛还拥有一个在范围 [ 1 , 1 0 3 ] [1,10^3] [1,103] 内的重量。所有奶牛始终以恒定的速度移动,直到以下事件之一发生:
- 如果奶牛 i i i 移动到了一个牛棚,则奶牛 i i i 停止移动。
- 当奶牛 i i i 和 j j j 占据了相同的点的时候,并且这一点不是一个牛棚,则发生了相遇。此时,奶牛 i i i 被赋予奶牛 j j j 先前的运动方向,反之亦然。注意奶牛可能在一个非整数点相遇。
- 令 T T T 等于停止移动的奶牛(由于到达两个牛棚之一)的重量之和至少等于所有奶牛的重量之和的一半的最早时刻。请求出在时刻 0 … T 0 \ldots T 0…T(包括时刻 T T T)之间发生的奶牛对相遇的总数。
输入格式
输入的第一行包含两个空格分隔的整数