AT_past202005_o 輪投げ
题目描述
### 题目简述
有三个数组 $x,y,z$,开始时每个数组均为空。你现在要将 $1$ 到 $n$ 这 $n$ 个正整数按如下规则加入这三个数组中:
- 每个数组内的任意两个数互不相同;
- 每个数组的最终长度为 $m$。
下面将按照如下规则统计你的分数:
- 给定三个整数 $r,s,t$。
- 统计 $x$ 数组中各数字所获得的分值。如果该数组中出现了数字 $q$,那么分值将会增加 $(a_q \times b_q) \bmod r$。
- 统计 $y$ 数组中各数字所获得的分值。如果该数组中出现了数字 $q$,那么分值将会增加 $(a_q \times (b_q)^2) \bmod s$。
- 统计 $z$ 数组中各数字所获得的分值。如果该数组中出现了数字 $q$,那么分值将会增加 $(a_q \times (b_q)^3) \bmod t$。
- 统计 $1$ 到 $n$ 中各数字在这三个数组中的出现次数。若数 $q$ 的出现次数 $i$ 为正整数时,从分值中扣除 $a_q \times (b_q)^i$ 分。
请输出你可能拿到的最大分值(可能为负)。
输入格式
第一行:$n,m$
第二行:$a_1,a_2,...,a_n$
第三行:$b_1,b_2,...,b_n$
第四行:$r,s,t$
输出格式
一个整数,你能获得的最大分值。
### 数据规模
$1 \le m \le n \le 500$
$2 \le a_i,b_i \le 1000$
$2 \le r,s,t \le 10^5$
说明/提示
### 注意
この問題に対する言及は、2020/6/6 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- 入力は全て整数
- $ 1\ \leq\ M\ \leq\ N\ \leq\ 500 $
- $ 2\ \leq\ A_{i},\ B_{i}\ \leq\ 1000 $
- $ 2\ \leq\ R_{1},\ R_{2},\ R_{3}\ \leq\ 10^{5} $
### Sample Explanation 1
\- ラウンド $ 1,\ 2,\ 3 $ のそれぞれにおいて、輪を棒 $ 1 $ に命中させて得られる得点は $ 9, $ $ 27, $ $ 81 $ 点です。 - ラウンド $ 1,\ 2,\ 3 $ のそれぞれにおいて、輪を棒 $ 2 $ に命中させて得られる得点は $ 6, $ $ 18, $ $ 54 $ 点です。 - すべてのラウンドの終了後、棒 $ 1 $ に輪が $ 1 $, $ 2 $, $ 3 $ 本かかっているときに減点される点数は、それぞれ $ 9, $ $ 27, $ $ 81 $ 点です。 - すべてのラウンドの終了後、棒 $ 2 $ に輪が $ 1 $, $ 2 $, $ 3 $ 本かかっているときに減点される点数は、それぞれ $ 6, $ $ 18, $ $ 54 $ 点です。 最適な戦略は、ラウンド $ 1 $ では輪を棒 $ 2 $ に、ラウンド $ 2, $ $ 3 $ では輪を棒 $ 1 $ に命中させることです。