#HK4966. 「POI2015 R2」物流 Logistics

「POI2015 R2」物流 Logistics

题目描述

题目译自 XXII Olimpiada Informatyczna — II etap Logistyka

Bajtazar 经营一家物流公司,客户常需运送大宗货物,单辆卡车装不下,他就派出车队。有时,司机比卡车多,备用司机便以乘客身份同行。每辆卡车可载任意多乘客。车队可随时停车,停车时所有卡车停下,司机可随意换车或交换驾驶任务,停车次数无限制。

为提升道路安全,字节城交通部对卡车司机的工作时长设限。每位司机通过体检后,其驾照会注明单次行程可驾驶的公里数。

Bajtazar 请你编写程序,管理他的 nn 名司机团队,处理两种事件:

  • 更新第 ii 名司机的驾照记录。初始时无记录,未获记录的司机不得开车。
  • 查询能否派出 cc 辆卡车的车队,完成 ss 公里的行程。司机可作乘客或换车,每条行程单独处理,下个车队在上个返回后出发。

输入格式

第一行包含两个整数 n,mn, m (1n,m1000000)(1 \leq n, m \leq 1000000),分别表示司机数和事件数。
接下来的 mm 行描述事件:

  • 更新事件:字母 U 和两个整数 k,ak, a (1kn,0a109)(1 \leq k \leq n, 0 \leq a \leq 10^9),表示第 kk 名司机此后可驾驶 aa 公里。
  • 查询事件:字母 Z 和两个整数 c,sc, s (1cn,1s109)(1 \leq c \leq n, 1 \leq s \leq 10^9),询问能否用 cc 辆卡车完成 ss 公里的行程。

输出格式

若输入有 zz 个查询,输出 zz 行,第 ii 行包含一个字符串 TAKNIE,表示第 ii 个查询的答案。

3 8
U 1 5
U 2 7
Z 2 6
U 3 1
Z 2 6
U 2 2
Z 2 6
Z 2 1

NIE
TAK
NIE
TAK

附加样例

  1. n=1n=1,多个更新和查询,包含是和否的回答;
  2. n=1000n=1000,每位司机可驾驶 10001000 公里,查询 10001000 辆卡车行驶 11 公里;
  3. n=500000n=500000,每位司机可驾驶 11 公里,查询 11 辆卡车行驶 500000500000 公里。

数据范围与提示

对于 33%33\% 的数据,n,m1000n, m \leq 1000
对于 66%66\% 的数据,a,s106a, s \leq 10^6