Problem1899--普及组模拟赛三C组合数

1899: 普及组模拟赛三C组合数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Submit

Description

    小 S 学习编程地方的走廊上放着 N 种水果(编号为 1 到 N),供大家编程学习休息
的时候食用。为了方便拿取,工作人员将每种水果放在一起,每种水果的数量可能不一
样,但由于每种水果长得非常相似,所以同一种水果认为都是相同的。
    假设现在有 3 种水果,其中第 1 种水果有 2 个,第二种水果也有 1 个,第三种水果
有 1 个。
    所以从这些水果中取水果的方案有以下几种情况:
    (1) 取 1 个水果有 3 种方案:(1)(表示取 1 个第 1 种水果,下同)、(2)、(3)
    (2) 取 2 个水果有 4 种方案: (1,1)、(1,2)、(1,3)、(2,3)
    (3) 取 3 个水果有 3 种方案:(1,1,2)、(1,1,3)、(1,2,3)
    (4) 取 4 个水果有 1 种方案:(1,1,2,3)

Input

第一行 4 个整数 N,K,X,Y
第 2 到 K+1 行:每行是一个正整数,表示某个水果的种类编号。

Output

输出一个整数,表示取 X 到 Y(包括 X 和 Y)个水果时不同方案的总数。

Sample Input Copy

样例输入1:
3 4 1 4
1
1
2
3

样例输入2:
3 5 2 3
1
1
2
2
3

Sample Output Copy

样例输出1: 11

样例输出2: 10

HINT

【样例 1 说明】
    如题目描述共 11 种方案。
【样例 2 说明】
    取 2 个水果有 5 种方案,取 3 个水果也有 5 种方案,共 10 种方案。
【数据范围】
    前 20%的数据, N ≤ 10,K ≤ 30;
    前 50%的数据, N ≤ 100,K ≤ 500;
    对于全部数据,1 ≤ N ≤ 200,1 ≤ K ≤ 5000,1 ≤ X,Y ≤ S

Source/Category