Points and Comparison
题目描述
注意特殊的输入格式。
在 xy 平面上有 N 个点 (Xi,Yi)。这些点在输入中给出。
另外,给出 Q 对整数 (Aj,Bj)。
定义 f(Aj,Bj) 为满足 Yi≥Aj×Xi+Bj 的下标 i 的个数。
求 j=1∑Qf(Aj,Bj)。
这里,Q 非常大,所以 (Aj,Bj) 并不是直接给出。
取而代之,给出 G0、Ra 和 Rb,并按如下方式生成 (Aj,Bj):
首先,对于 n≥0,定义 Gn+1=(48271×Gn)mod(231−1)。
对于 j=1,2,…,Q,按如下方式生成 (Aj,Bj):
Aj=−Ra+(G3j−2mod(2×Ra+1))
$B_j = -R_b + ((G_{3j - 1} \times (2^{31}-1) + G_{3 j}) \mod (2 \times R_b + 1) )$
由此方法可以证明 Aj 和 Bj 满足以下约束:
−Ra≤Aj≤Ra
−Rb≤Bj≤Rb
输入格式
输入从标准输入按如下格式给出:
N
X1 Y1
X2 Y2
⋮
XN YN
Q
G0 Ra Rb
输出格式
输出一个整数,表示答案。
7
2 -2
-1 -2
0 1
2 1
-2 2
1 2
0 -1
10
1 5 5
36
提示
所有输入值均为整数。
1≤N≤5000
1≤Q≤107
∣Xi∣,∣Yi∣≤108
点对 (Xi,Yi) 两两不同。
0 \le G_0 < (2^{31}-1)
0≤Ra≤108
0≤Rb≤1016该输入包含十个查询。
生成的 (Aj,Bj) 为 $(-2,4),(0,2),(-4,-2),(4,-5),(3,1),(-1,3),(2,-5),(3,-1),(3,5),(3,-2)$。
标签: AtCoder|abc344G
来源
AtCoder|abc344G