CF1473F Strange Set

题目描述

**请注意本题的时间与空间限制** 你有两个长度均为 $n$ 的序列 $a_1,a_2,\dots,a_n$ 和 $b_1,b_2,\dots,b_n$。 我们定义一个集合 $S\subseteq\{1,2,\dots,n\}$ 是奇怪的,当且仅当:对于任意 $i\in S$,如果有 $j\in [1,i-1]$,满足 $a_j|a_i$,则也有 $j\in S$。特别地,**空集**总是一个奇怪的集合。 定义一个集合 $S$ 的权为 $\sum_{i\in S} b_i$。请求出所有奇怪集合的最大权。

输入格式

第一行输入一个整数 $n$($1\le n\le 3000$)。 第二行包含 $n$ 个整数,依次为 $a_1,a_2,\dots,a_n$($1\le a_i\le 100$)。 第三行包含 $n$ 个整数,依次为 $b_1,b_2,\dots,b_n$($-10^5\le b_i\le 10^5$)。

输出格式

输出一个整数,表示奇怪集合的最大权。

说明/提示

第一个样例中,权值最大的奇怪集合为 $\{1,2,4,8,9\}$。 第二个样例中,权值最大的奇怪集合为 $\varnothing$。