loj#P2031. 「SDOI2016」数字配对

「SDOI2016」数字配对

题目描述

n n 种数字,第 i i 种数字是 ai a_i 、有 bi b_i 个,权值是 ci c_i
若两个数字 ai a_i aj a_j 满足,ai a_i aj a_j 的倍数,且 ai/aj a_i / a_j 是一个质数,那么这两个数字可以配对,并获得 cicj c_i \cdot c_j 的价值。
一个数字只能参与一次配对,可以不参与配对。
在获得的价值总和不小于 0 0 的前提下,求最多进行多少次配对。

输入格式

第一行一个整数 nn
第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n
第三行 nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n
第四行 nn 个整数 c1,c2,,cnc_1,c_2,\dots,c_n

输出格式

一行一个整数,表示最多进行多少次配对。

3
2 4 8
2 200 7
-1 -2 1
4

数据范围与提示

测试点 1 ~ 3:n10 n \leq 10 ai109 a_i \leq 10 ^ 9 bi=1 b_i = 1 ci105 \left| c_i \right| \leq 10 ^ 5
测试点 4 ~ 5:n200 n \leq 200 ai109 a_i \leq 10 ^ 9 bi105 b_i \leq 10 ^ 5 ci=0 c_i = 0
测试点 6 ~ 10:n200 n \leq 200 ai109 a_i \leq 10 ^ 9 bi105 b_i \leq 10 ^ 5 ci105 \left| c_i \right| \leq 10 ^ 5