Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
147282 | 吴松韬 | 货币系统 | C++ | 通过 | 100 | 793 MS | 356 KB | 570 | 2024-05-18 14:24:34 |
#include<bits/stdc++.h> using namespace std; int T,a[105],b[105],n,m,f[25005]; int main(){ cin>>T; for(int q=0;q<T;q++){ memset(f,0,sizeof(f)); cin>>n; m=n; for(int i=1;i<=n;i++)cin>>a[i]; sort(a+1,a+n+1,less<int>()); for(int i=1;i<=n;i++){ memset(f,0,sizeof(f)); memset(b,0,sizeof(b)); for(int j=1;j<=n-1;j++){ if(j==i)b[j]=a[i+1]; else b[j]=a[j]; } for(int j=1;j<=n-1;j++){ for(int k=b[j];k<=a[i];k++){ f[k]=max(f[k],f[k-b[j]]+b[j]); } } if(f[a[i]]==a[i])m--; } cout<<m<<endl; } }