最后献上自己考场写的TGD1T2代码
蒟蒻过于垃圾,并不能AC
#include
using namespace std;
inline int read(void){
int x=,f=;char ch=getchar();
while(ch<''||ch>''){
if(ch=='-') f=-;
ch=getchar();
}
while(ch>=''&&ch<=''){
x=(x<<)+(x<<)+ch-'';
ch=getchar();
}
return x*f;
}
int t,n,a[],over,dp[];
int main(){
t=read();
while(t--){
memset(dp,,sizeof(dp));over=;
n=read();memset(a,,sizeof(a));
for(register int i=;i<=n;i++)
a[i]=read();
sort(a+,a+n+);
dp[]=;
for(register int i=;i<=n;i++){
if(dp[a[i]]) over++;
for(register int j=;j<=i;j++)
for(register int k=;k<=a[n]-a[j];k++)
dp[k+a[j]]|=dp[k];
}
printf("%d\n",n-over);
}
return ;
}
两年OI一场空
贪心过样例,暴力出奇迹!!
手机扫一扫
移动阅读更方便
你可能感兴趣的文章