#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110,M=25010;
int n,m;
int a[N];//货币
bool f[M];//dp
int cnt;//取了多少个
int T;
int main(){
cin>>T;
while(T--){
cnt=0;
memset(f,0,sizeof f);
f[0]=1;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);//排序后从小往大取
for(int i=0;i<n;i++){
for(int j=a[i];j<=25005;j++)//j从a[i]到最大
f[j]|=f[j-a[i]];//核心式子
if(!f[a[i+1]])cnt++;
}
cout<<cnt<<endl;
}
}
浙公网安备 33010602011771号