QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#8626. disanti

统计

杜老师怎么用 txt 写题面,这么敷衍?

disanti.cpp/c/pas disanti.in disanti.out 256MB 1s

令N=p_1^e_1*p_2^e_2*...*p_n^e_n,其中p_i两两不同且为素数,问:

    1.将N表示成k个数的方案数,即N=a_1*a_2*...*a_k,问(a_1,a_2,...,a_k)的不同对数。

    2.将N表示成k个递增的数的方案数,即N=a_1*a_2*...*a_k(a_1<a_2<...<a_k),问(a_1,a_2,...,a_k)的不同对数。

    3.将N表示成k个不降的数的方案数,即N=a_1*a_2*...*a_k(a_1<=a_2<=...<=a_k),问(a_1,a_2,...,a_k)的不同对数。

答案对10^9+7取模。

input

第一行两个整数n和k。

接下来一行n个整数,为e_1,e_2,...,e_n。

output

三行三个整数分别为3问的答案。

第一问正确得到1分,第二问正确得到3分,第三问正确得到5分,三问都正确另外得到1分。

为了防止意外请输出三个整数。

sample in

5 3
3 4 2 5 1

sample out

56700
9432
9468

10%, n<=10,e_i<=10,k<=2
另有20%, n<=30,e_i<=30,k<=10
另有10%, n<=30,e_i<=30,k<=20
另有20%, n<=10000,e_i<=10000,k<=5
另有20%, n<=10000,e_i<=10000,k<=15
另有10%, n<=10000,e_i<=10000,k<=20
另有10%, n<=10000,e_i<=10000,k<=25