1 条题解

  • 0
    @ 2025-10-14 9:22:34
    #include <bits/stdc++.h>
    using namespace std;
    int a[120];
    int dp[100020];
    int t, n;
    int main() {
        cin >> t;
        while (t--) {
            cin >> n;
            fill(dp, dp + 100000, 0);
            dp[0] = 1;
            for (int i = 0; i < n; i++) {
                cin >> a[i];
                for (int j = a[i]; j <= 100000; j++) {
                    dp[j] = min(10, dp[j] + dp[j - a[i]]);
                }
            }
            int m = 0;
            for (int i = 0; i < n; i++) {
                if (dp[a[i]] <= 1) {
                    m++;
                }
            }
            cout << m << endl;
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1288
    时间
    1000ms
    内存
    125MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者