题目名称 | 3315. [USACO19 DEC Silver]Meetings |
---|---|
输入输出 | meetings.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 13 |
题目来源 | 数声风笛ovo 于2019-12-20加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:3, 通过率:66.67% | ||||
leon | 100 | 5.074 s | 18.41 MiB | C++ |
leon | 100 | 5.076 s | 18.41 MiB | C++ |
fmq03 | 7 | 12.000 s | 14.23 MiB | C++ |
本题关联比赛 | |||
20200109 |
关于 Meetings 的近10条评论(全部评论) |
---|
有两个牛棚位于一维数轴上的点 $0$ 和 $L$ 处。同时有 $N$ 头奶牛位于数轴上不同的位置(将牛棚和奶牛看作点)。每头奶牛 $i$ 初始时位于某个位置 $x_i$,并朝着正向或负向以一个单位每秒的速度移动,用一个等于 $1$ 或 $-1$ 的整数 $d_i$ 表示。每头奶牛还拥有一个在范围 $[1,10^3]$ 内的重量。所有奶牛始终以恒定的速度移动,直到以下事件之一发生:
- 如果奶牛 $i$ 移动到了一个牛棚,则奶牛 $i$ 停止移动。
- 当奶牛 $i$ 和 $j$ 占据了相同的点的时候,并且这一点不是一个牛棚,则发生了相遇。此时,奶牛 $i$ 被赋予奶牛 $j$ 先前的速度,反之亦然。注意奶牛可能在一个非整数点相遇。
令 $T$ 等于停止移动的奶牛(由于到达两个牛棚之一)的重量之和至少等于所有奶牛的重量之和的一半的最早时刻。请求出在时刻 $0 \ldots T$(包括时刻 $T$)之间发生的奶牛对相遇的总数。
输入的第一行包含两个空格分隔的整数 $N$ 和 $L$。
以下$ N $行,每行包含三个空格分隔的整数 $w_i$,$x_i$ 以及 $d_i$。所有的位置 $x_i$ 各不相同,并且满足 $0<x_i<L$。
输出一行,包含答案。
3 5 1 1 1 2 2 -1 3 3 -1
2
对于 $100\%$ 的数据,保证有:$1≤N≤5×10^4,L≤1×10^9$。
USACO 2019十二月月赛 Silver 组