Problem7454--洛谷P4926 - 倍杀测量者

7454: 洛谷P4926 - 倍杀测量者

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

今天 Scarlet 在机房有幸目睹了一场别开生面的 OI 训练。因为一些奇妙的 SPJ,比赛中所有选手的得分都是正实数(甚至没有上限)。
当一位选手 A 的分数不小于选手 B 的分数 $k$($k>0$)倍时,我们称选手 A $k$ 倍杀了选手B,选手 B 选手 A $k$ 倍杀了。
更奇妙也更激动人心的是,训练前有不少选手立下了诸如“我没 $k$ 倍杀选手 X,我就女装”,“选手 Y 把我 $k$ 倍杀,我就女装”的 Flag。
知道真相的良心教练 Patchouli 为了维持机房秩序,放宽了选手们的 Flag 限制。Patchouli 设定了一个 **正** 常数 $T$,立下“我没 $k$ 倍杀选手 X 就女装”的选手只要成功 $k-T$ 倍杀了选手 X,就不需要女装。同样的,立下“选手 Y 把我 $k$ 倍杀我就女装”的选手只要没有成功被选手 Y $k+T$ 倍杀,也不需要女装。
提前知道了某些选手分数和具体 Flag 的 Scarlet 实在不忍心看到这么一次精彩比赛却没人女装,为了方便和 Patchouli 交易,Scarlet 想要确定最大的实数 $T$ 使得赛后一定有选手收 Flag 女装。

Input

第一行三个整数 $n,s,t$,分别表示机房内选手人数,选手立下的 Flag 总数和 Scarlet 已知的选手分数的数量。$n$ 位选手从 $1$ 开始编号至 $n$,编号为 $k$ 的选手被称为选手 $k$。
接下来 $s$ 行,每行四个整数 $o,A,B,k$。其中 $o=1$ 表示选手 A 立下了“我没 $k$ 倍杀选手 B 就女装”的Flag,$o=2$ 表示选手 A 立下了“选手 B 把我 $k$ 倍杀我就女装”的 Flag。
接下来 $t$ 行,每行两个整数 $C,x$,表示 Scarlet 已知选手 $C$ 的分数为 $x$。

Output

若存在能保证赛后有选手女装的最大的 $T$,则输出 $T$,只有当输出与答案的绝对误差不超过 $10^{-4}$ 时才被视作正确输出。
若不存在,输出 `-1`。

Constraints

对于 $30\%$ 的数据,$1\leq n\leq5,1\leq s\leq 2$。
对于另 $40\%$ 的数据,保证 $t=n$。
对于 $100\%$ 的数据,$1\leq n,s\leq 1000,1\leq A,B,C,t\leq n,1\leq k\leq 10,1\leq x\leq 10^9$。
保证输入中的 $C$ 两两不同。

Sample 1 Input

3 5 1
1 2 1 2
1 3 2 2
1 3 1 4
2 1 2 2
2 1 3 4
1 1

Sample 1 Output

-1

Sample 2 Input

3 2 3
1 2 1 10
2 2 3 6
1 1
2 6
3 9

Sample 2 Output

3.9999993984

HINT

相同题目:洛谷P4926

Source/Category

差分约束