班級要組織一場綜合能力競賽,全班同學(n(100以內)個,n是偶數)分成兩隊互相競爭。老師找到了越越並給了越越一張全班同學綜合能力測試的成績,要求他從全班同學中選出一半(他自己也可能被選),並要求這些同學綜合能力測試的成績之和在不超過班級總分一半的前提下盡量達到最高。這樣分成的兩隊實力是最平均的。越越堆著滿臉的笑容找到了你,你就幫他寫乙個程式吧。
輸入格式:
第一行:學生個數n;第二行開始的n行每行乙個同學的綜合能力測試的成績。
輸出格式:
輸出乙個數:n/2個同學的綜合能力測試的成績之和在不超過班級總分一半的前提下盡量達到的最高值。
輸入樣例#1: 複製
87777
5677
8477
5646
輸出樣例#1: 複製
273
樣例解釋:總分550;總分的一半275;選擇4名同學56 77 84 56 77 達到總分273;273是不超過275的最大值。(另一隊的和是277)兩隊實力最接近。
思路:揹包。
#include#include#include
#include
using
namespace
std;
intn,v;
int num[110],f[10010
];int
main()
洛谷 P2663 越越的組隊
班級要組織一場綜合能力競賽,全班同學 n個,n是偶數 分成兩隊互相競爭。老師找到了越越並給了越越一張全班同學綜合能力測試的成績,要求他從全班同學中選出一半 他自己也可能被選 並要求這些同學綜合能力測試的成績之和在不超過班級總分一半的前提下盡量達到最高。這樣分成的兩隊實力是最平均的。越越堆著滿臉的笑容...
洛谷 P2663 越越的組隊
班級要組織一場綜合能力競賽,全班同學 n個,n是偶數 分成兩隊互相競爭。老師找到了越越並給了越越一張全班同學綜合能力測試的成績,要求他從全班同學中選出一半 他自己也可能被選 並要求這些同學綜合能力測試的成績之和在不超過班級總分一半的前提下盡量達到最高。這樣分成的兩隊實力是最平均的。越越堆著滿臉的笑容...
P2663 越越的組隊
原題鏈結 很容易看出來是個揹包問題嘛 體積是總分的一半,求最高分,每個同學選或不選,是個 01揹包問題。自信地交上去之後發現只有 90pts 為什麼呢?是不是忘了個條件啊喂,人家還要選 n 2 個人吶!多乙個條件就加乙個維度。zhx 有了第二個限制 重量是 n 2 這樣就從乙個 01揹包問題轉化成了...