Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
145501 | 林泽豪 | 货币系统 | C++ | 通过 | 100 | 29 MS | 648 KB | 509 | 2024-05-05 10:41:16 |
#include<bits/stdc++.h> using namespace std; const int N=100000; int T,n,a[N],m,f[N],minn; bool cmp(int b,int c){ return b<c; } int main(){ cin>>T; for(int t=1;t<=T;t++){ memset(f,0,sizeof(f)); f[0]=1; m=0; cin>>n; minn=0; for(int i=1;i<=n;i++)cin>>a[i],f[a[i]]=2,m=max(m,a[i]); sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++){ for(int j=a[i]+1;j<=m;j++){ if(f[j-a[i]]>0)f[j]=1; } } for(int i=1;i<=m;i++)if(f[i]==2)minn++; cout<<minn<<endl; } }