logo AlgoBeat OnlineJudge
登录 注册

#215140. [UOI 2019 II Stage] 幸福值

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

波托科兰迪亚有 栋房屋,其中第 栋居住着 位居民。这些房屋之间有 条道路,每条道路连接房屋 。我们定义每位居民的 幸福值 为他能够遇到的居民数量(包括自己)。一名房屋的居民能够遇到另一名居民,如果该居民来自他的房屋,或者来自可以通过波托科兰迪亚的道路网络到达的房屋。

在过去的 天里,每天都会发生以下两种事件之一:

  • 连接房屋 的道路被大雪掩埋,因此现在无法通行。
  • 号房屋的 位居民乘坐直升机前往波托科兰迪亚境外拜访远亲。

波托科兰迪亚的居民写信给哥萨克胡子,请求他告知最后一个满足以下条件的日子:从 号房屋任选一位居民与从 号房屋任选一位居民,他们两人的幸福值之和至少为

可以认为,所有事件都在每天的第一瞬间立即完成。如果在所有事件开始之前,幸福值之和就已经小于 ,则需要输出 。如果幸福值之和仅在第一个事件之前不低于 ,则需要输出 。如果在第 个事件之后,幸福值之和变得小于所需值,则需要输出 。如果在所有事件之后,幸福值之和仍然至少为 ,则需要输出

由于哥萨克胡子是个相当忙碌的人,而波托科兰迪亚的居民众多,他请求您帮助他回复所有的信件。

输入格式

第一行包含四个整数 )—— 分别表示房屋数量、道路数量、天数和消息数量。

下一行包含 个整数 )—— 第 栋房屋的居民数量。

接下来的 行,每行包含两个整数 )—— 表示存在道路连接的房屋。保证没有重边。

接下来的 行,每行描述一个事件,格式为以下两种之一:

  • )—— 被大雪掩埋的道路。保证该道路存在,且之前未被掩埋。
  • )—— 房屋编号以及离开该房屋的人数。保证在任何时刻,每栋房屋至少有一位居民。

接下来的 行,每行包含三个整数 )。

输出格式

输出 行,每行包含对相应查询的答案。如果两位居民的幸福值之和在第一天之前就小于 ,则输出

样例

样例输入 1

3 3 5 4
2 9 4
1 2
2 3
1 3
2 2 1
1 2 3
2 3 3
1 1 2
1 1 3
1 2 11
3 2 20
1 3 15
2 3 10

样例输出 1

4
3
3
4

样例输入 2

4 5 3 4
1 2 3 4
1 2
2 3
1 3
3 4
2 4
1 2 4
1 3 4
2 3 2
1 4 21
1 4 20
1 3 9
2 2 2

样例输出 2

-1
1
2
3

数据范围与提示

第二个样例的解释:

对于第一个查询,两位居民的幸福值之和始终小于 (初始时为 )。对于第二个查询,在第二天之后,他们的幸福值之和将减少到 。其他查询的解释类似。