AT_abc344_g [ABC344G] 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_{3j}) \bmod (2 \times R_b + 1))$
由此生成方法可知,Aj,Bj 满足如下约束:
- −Ra≤Aj≤Ra
- −Rb≤Bj≤Rb
输入格式
输入以如下格式从标准输入读入:
N X1 Y1 X2 Y2 ⋯ XN YN Q G0 Ra Rb
输出格式
请输出答案的整数值。
输入输出样例 #1
输入 #1
7
2 -2
-1 -2
0 1
2 1
-2 2
1 2
0 -1
10
1 5 5
输出 #1
36
说明/提示
数据范围
- 所有输入均为整数。
- 1≤N≤5000
- 1≤Q≤107
- ∣Xi∣,∣Yi∣≤108
- (Xi,Yi) 互不相同。
- 0≤G0<231−1
- 0≤Ra≤108
- 0≤Rb≤1016
样例解释 1
该输入包含 10 个询问。生成的 (Aj,Bj) 分别为 $(-2,4), (0,2), (-4,-2), (4,-5), (3,1), (-1,3), (2,-5), (3,-1), (3,5), (3,-2)$。
由 ChatGPT 4.1 翻译