#loj4998. 「POI 2023/2024 R3」Bukmacher

「POI 2023/2024 R3」Bukmacher

AdditionalFile4998.zip

#4998. 「POI 2023/2024 R3」Bukmacher

标签: 传统 | 时间限制: 10000 ms | 内存限制: 512 MiB |

题目描述

题目译自 XXXI Olimpiada Informatyczna – III etap Bukmacher

Bajtocja 正饱受通货膨胀困扰,忧心忡忡的 Bajtazar 苦思如何保值资产。不幸的是,他被一则博彩广告吸引,决定投身赌注,押注足球比赛。

即将举行 nn 场足球比赛,每场必有胜负(无平局)。单个赌注需预测全部 nn 场比赛结果。若正确预测第 ii 场比赛,胜方为第一队则获利 aia_i 拜托拉,第二队则获利 bib_i 拜托拉。错误预测无收益。赌注总收益为所有正确预测的收益之和。

Bajtazar 需从 zz 个赌注中选择一个。第 ii 个赌注包含预测序列 pip_i(长度 nn)和价格 kik_i 拜托拉,其中 pi,jp_{i,j}00 表示第 jj 场比赛预测第一队胜,为 11 表示第二队胜。赌注净收益为总收益减去价格。

Bajtazar 向你提供了所有赌注信息,并提出 qq 个问题。第 ii 个问题给出一个比赛结果序列 wiw_i,其中 wi,jw_{i,j}00 表示第 jj 场比赛第一队胜,为 11 表示第二队胜。你的任务是计算在 wiw_i 结果下,选择任一赌注可获得的最大净收益,以及达成此收益的赌注数量。

输入格式

第一行包含一个整数 nn (1n20)(1 \leq n \leq 20),表示比赛场数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (0ai109)(0 \leq a_i \leq 10^9),表示第一队胜的收益。

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n (0bi109)(0 \leq b_i \leq 10^9),表示第二队胜的收益。

第四行包含一个整数 zz (1z106)(1 \leq z \leq 10^6),表示赌注数量。

接下来的 zz 行,每行描述第 ii 个赌注:一个长度 nn0101 序列 pip_i(无空格),后跟整数 kik_i (0ki109)(0 \leq k_i \leq 10^9)

下一行包含一个整数 qq (1q106)(1 \leq q \leq 10^6),表示问题数量。

接下来的 qq 行,每行包含一个长度 nn0011 序列 wiw_i(无空格),描述第 ii 个问题的比赛结果。

输出格式

输出 qq 行,第 ii 行包含两个整数:第一个为在 wiw_i 结果下任一赌注可获得的最大净收益,第二个为达成此收益的赌注数量。

样例

输入

3
1 3 5
4 2 5
5
000 5
010 2
101 1
000 8
011 3
3
000
011

输出

4 2
5 1
6 1

给定 a1=1,a2=3,a3=5a_1=1, a_2=3, a_3=5b1=4,b2=2,b3=5b_1=4, b_2=2, b_3=5,赌注预测序列为 p1=000,p2=010,p3=101,p4=000,p5=011p_1=000, p_2=010, p_3=101, p_4=000, p_5=011,价格为 k1=5,k2=2,k3=1,k4=8,k5=3k_1=5, k_2=2, k_3=1, k_4=8, k_5=3

  • 问题 11w1=000w_1=000,各赌注净收益:
    • 赌注 11a1+a2+a3k1=4a_1 + a_2 + a_3 - k_1 = 4
    • 赌注 22a1+a3k2=4a_1 + a_3 - k_2 = 4
    • 赌注 33a2k3=2a_2 - k_3 = 2
    • 赌注 44a1+a2+a3k4=1a_1 + a_2 + a_3 - k_4 = 1
    • 赌注 55a1k5=2a_1 - k_5 = -2
      最大净收益 44,由赌注 1122 达成,数量为 22
  • 问题 22w2=011w_2=011,赌注 55 净收益 a1+b2+b3k5=5a_1 + b_2 + b_3 - k_5 = 5 为最大,数量为 11
  • 问题 33w3=100w_3=100,赌注 33 净收益 b1+a2k3=6b_1 + a_2 - k_3 = 6 为最大,数量为 11

附加样例

  1. n=20,ai=1,bi=2,z=q=1000,ki=in=20, a_i=1, b_i=2, z=q=1000, k_i=ipip_iwiw_i 为从 00000\ldots0 开始的字典序序列。
  2. n=10,ai=bi=i,z=q=106,ki=23n=10, a_i=b_i=i, z=q=10^6, k_i=23pip_iwiw_i 为从 00000\ldots0 开始的循环字典序序列。
  3. n=17,ai=bi=109,z=q=105,ki=0n=17, a_i=b_i=10^9, z=q=10^5, k_i=0pip_iwiw_i 为从 11111\ldots1 开始的递减字典序序列。
  4. n=20,ai=bi=i1,z=q=106,ki=109in=20, a_i=b_i=i-1, z=q=10^6, k_i=10^9-ipip_iwiw_i 为从 00000\ldots0 开始的字典序序列。

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
11 z,q1000z, q \leq 1000 1010
22 n10n \leq 10 1010
33 n17,z,q100000n \leq 17, z, q \leq 100000 4040
44 无附加限制 4040

若程序仅正确输出每对结果的第一个值(最大净收益),且第二个值在 32 位有符号整数范围内(int),可获测试 50%50\% 分数。