小红的图上划分
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红有一个无向图,有 n 个点 m 条边。小红有 q 个询问,每次给出 L, R,求将图划分为至少 L 个连通块,最多 R 个连通块的最大划分价值,若不可划分输出 "NO ANSWER"。

图的划分定义为将图划分为一个或多个连通块,对于每个连通块,其点集为其边集中每一条边的两端点的集合,且点集内任意两点均可通过边集里的边互相到达。

划分价值定义为所有连通块边集中的最小边权。

输入描述:

第一行输入三个整数 n, m, q,表示点数,边数,询问数。
接下来 m 行,每行三个整数 u, v, w,表示一条边,连接 u, v,边权为 w
接下来 q 行,每行两个整数 L, R,表示询问。
对于全部测试点,保证
1 \leq n, m \leq 2 \times 10^5
1 \leq q \leq 2 \times 10^5
1 \leq u, v \leq n
-10^9 \leq w \leq 10^9
1 \leq L \leq R < n

输出描述:

输出 q 行,表示对应询问的答案。
示例1

输入

复制
5 5 2
1 2 1
2 3 2
3 4 3
4 1 4
1 3 5
1 1
2 2

输出

复制
NO ANSWER
2

说明

第一个询问,选取所有边也只有 2 两个联通块,无法满足条件。
第二个询问,选取第 2,3,4 条边,有两个联通块,边集中最小边权为 2,不存在更大的划分价值。