红军物资均衡分配
时间限制 1s
内存限制 256M
题目描述
长征途中,红军有两支纵队正在行军。后方有 n 件物资需要分配给前线部队。每件物资可以有三种分配方式:
1. 分配给第一纵队;
2. 分配给第二纵队;
3. 暂时留作战略预备。
由于运输能力有限,最多只能留 m 件物资作为预备。
为了保持两支纵队的公平,要求两支纵队获得的物资总重量必须相等。物资重量为w1, w2, ..., wn。
问:有多少种分配方式使得两支纵队获得的总重量相等,且预备物资不超过 m 件?
注意:两边都不分配,即所有物资都留作预备,也算一种方案,前提是 n <= m。
输入格式
第 1 行:两个正整数 n m,分别表示物资总数、预备上限。
第 2 行:n 个正整数 w_1, w_2, ..., w_n,表示各物资重量,空格分隔。
输出格式
输出一个整数,表示满足条件的分配方案总数。
输入样例1
3 3 1 2 3
输出样例1
3
输入样例2
3 1 1 2 3
输出样例2
2
输入样例3
4 0 2 3 5 10
输出样例3
2
相似题推荐
密信解析
题目描述
红军的一份密信由一串小写字母组成,解析规则如下:
1. 忽略所有元音字母 a, e, i, o, u。
2. 在剩下的每个辅音字母前加上一个点号 .。
3. 将剩下的所有辅音字母转为大写。
请输出解析后的密信。
输入描述
一个长度不超过 100 的字符串。
输出描述
输出解析后的字符串,保证输出不为空。
样例输入
secret
样例输出
.S.C.R.T
在解放战争时期的后勤物资调配中,需要对各种物资数据进行排序处理。解放战争是关系到中国前途命运的大决战,辽沈、淮海、平津三大战役的胜利奠定了新中国成立的基础。以下关于排序算法的说法中,正确的是?
| A. 冒泡排序的平均时间复杂度是 O(n^2) |
B. 选择排序的平均时间复杂度是 O(n^2) |
| C. 快速排序的平均时间复杂度是 O(nlogn) |
D. 插入排序的平均时间复杂度是 O(n^2) |
为了练习投弹技术,小战士每天进行 5 轮投掷。以下 for 循环能准确执行 5 次的有( )
| A. for (int i = 1; i <= 5; i++) |
B. for (int i = 0; i < 5; i++) |
| C. for (int i = 5; i >= 1; i--) |
D. for (int i = 0; i <= 5; i++) |
大生产运动中,开荒面积 land 必须大于 10 亩且小于 50 亩才是“标准示范田”。以下能正确表示该条件的 C++ 表达式是( )
| A. 10 < land < 50 |
B. land > 10 && land < 50 |
| C. land > 10 || land < 50 |
D. land > 10, land < 50 |
