Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
153483 陈家宝 对抗赛 C++ 通过 100 0 MS 384 KB 502 2024-07-03 13:33:28

Tests(6/6):


#include<bits/stdc++.h> using namespace std; int v[110],N,sum=0; bool dp[110][10000]; int main(){ cin>>N; for(int i=1;i<=N;i++){ cin>>v[i]; sum+=v[i]; } int V=sum>>1,M=N>>1; dp[0][0]=true; for(int i=1;i<=N;i++)for(int j=M;j>=1;j--)for(int k=V;k>=v[i];k--)dp[j][k]=(dp[j][k]||dp[j-1][k-v[i]]); for(int i=V;i>=0;i--) if(dp[M][i]){ cout<<i;//找出人数为N/2下能达到的最大不超过一半的分数 break; } return 0; }


测评信息: