完全背包

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const long long inf = 1e18;
ll dp[25010];
void solve(){
    int n,ans=1;
    cin>>n;
    fill(dp,dp+25010,0);
    vector<int> a(n);
    for(int i=0;i<n;i++) cin>>a[i];
    sort(a.begin(),a.end());
    vector<int> b(1,a[0]);
    for(int i=1;i<n;i++){
        for(int s=0;s<b.size();s++){
            for(int v=b[s];v<=a[i];v++){
                dp[v]=max(dp[v], dp[v-b[s]]+b[s]);
            }
        }
        if(dp[a[i]]<a[i]){
            b.push_back(a[i]);
            ans++;
        }
    }
    cout<<ans<<endl;
}

int main(){
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    return 0;
}