Number
2000ms 65536KB
【 description】 有 N(2<=N<=15)个数 A1,A2,....,An-1,An,如果在这 N 个数中, 有
且仅有一个数能整除 m, 那么整数 m 就是一个幸运数, 你的任务就是在给定
A1,A2,....,An-1,An 的情况下, 求出第 k 小的幸运数。
【 input】
第一行为一整数数 N,K(2<=N<=15,1<=K<=2^31-1), 意义如上述。
接下来一行有 N 个整数, A1,A2,....,An-1,An,这 N 个整数均不超过 2^31-1。
【 output】
输出一行, 仅包含一个整数 ans, 表示第 K 小的幸运数。 答案保证不超过 10^15。
【 sample input】
input1:
2 4
2 3
input2:
2 100
125 32767
【 sample output】
output1:
8 o
utput2:
12500
【 Data Constraint】
对于 50%的数据, N<=5,ANS<=100000
对于 80%的数据, N<=10,ANS<=10^15
对于 100%的数据, N<=15,ANS<=10^15
第k大转化为区间中满足条件的个数
二分答案,容斥check
容斥:二进制枚举(因为N<=15),求各种的lcm,1(一个数的倍数个数)的+,2(2个数的lcm的倍数个数)的-,3的+...........