80740 - 同测活动第4场提高组阅读程序1
统计题目(材料题)
1 #include <iostream>
2 #include <vector>
3 #include <algorithm>
4 using namespace std;
5
6 int main() {
7 int n, m, k;
8 cin >> n >> m >> k;
9 vector<int>nums(n);
10 for (int i = 0; i < n; i++) cin >> nums[i];//保证输入的都是正整数
11
12 vector<vector<bool> >dp(k + 1, vector<bool>(m + 1, false));
13 dp[0][0] = true;
14 for (int idx = 0; idx < n; idx++) {
15 int num = nums[idx];
16 for (int i = k; i >= 1; i--) {
17 for (int j = m; j >= num; j--) {
18 if (dp[i - 1][j - num]) {
19 dp[i][j] = true;
20 }
21 }
22 }
23 }
24
25 if (dp[k][m]) {
26 cout << "Yes" << endl;
27 } else {
28 cout << "No" << endl;
29 }
30 return 0;
31 }

关注我们