社区讨论
修复 LaTex
CF402DUpgrading Array参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lo18zj4b
- 此快照首次捕获于
- 2023/10/22 17:09 2 年前
- 此快照最后确认于
- 2023/11/02 16:59 2 年前
CPP
## 题面翻译
给一个有 $n$ 个数 $a[1],a[2],\dots,a[n]$ 的数列打分,你认为 $b[1],b[2]…,b[m]$ 是不好的质数。定义这个序列的分值为各个数的分值之和,设 $x$ 的分值为 $f(x)$,则 $f(x)=f(x/p)+k$。其中 $p$ 为 $x$ 的最小质因子;若 $p$ 为不好的质数, $k$ 取 $−1$ ,否则 $k$ 取 $+1$;边界条件为 $f(1)=0$ 。
你想让序列的分值更大,可以反复进行一项操作:让 $a[1],a[2],a[3],...,a[i](i<=n)$ 中的每个数除以它们的最大公约数。请问你能让序列的得分最大为多少。
## 输入格式:
首行两个整数 $n,m(1<=n,m<=5000)$,下一行有 $n$ 个数 $a[1],a[2],…,a[n]$,再下一行有 $m$ 个数 $b[1],b[2]…,b[m]$ 即为坏质数。(保证所有数不超过 $10^9$, $b$ 数列都为质数且单调递增)
## 输出格式:
一个数 $s$ ,就是你能让序列得分的最大值。
@feecle6418
麻烦了
回复
共 4 条回复,欢迎继续交流。
正在加载回复...