Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
151907 陈家宝 对抗赛 C++ 通过 100 0 MS 384 KB 520 2024-06-20 12:51:46

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<<endl;//找出人数为N/2下能达到的最大不超过一半的分数 break; } return 0; }


测评信息: