#T560569. 分装饮料(2)

分装饮料(2)

题目描述

有m升饮料,要分装到3个瓶子里,每个瓶子都恰好装满。现在有n个备选的瓶子,这n个瓶子的容积已知,瓶子没有编号,这就意味着容积相同的瓶子是不区分的,问:有多少种不同的分装方案。两个分装方案,至少有一个瓶子的容积不一样,才是不同的分装方案。

输入格式

输入数据第一行为两个正整数m和n,用空格隔开,1≤m≤10000,1≤n≤100。第二行为n个≤1000的正整数,用空格隔开,表示每个瓶子的容积。

输出格式

输出数据占一行,为求得的答案。测试数据保证,求得的方案数不超出int型范围。

输入输出样例 #1

输入 #1

90 10
10 20 30 30 30 30 30 30 60 60

输出 #1

2

输入输出样例 #2

输入 #2

90 10
30 30 30 30 30 30 30 30 30 30

输出 #2

1

说明/提示

样例1说明:

这2种方案为:10+20+60, 30+30+30。

样例2说明:

这1种方案为:30+30+30。

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.