zoukankan      html  css  js  c++  java
  • 洛谷—— P2663 越越的组队

    https://www.luogu.org/problem/show?pid=2663

    题目描述

    班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争。老师找到了越越并给了越越一张全班同学综合能力测试的成绩,要求他从全班同学中选出一半(他自己也可能被选),并要求这些同学综合能力测试的成绩之和在不超过班级总分一半的前提下尽量达到最高。这样分成的两队实力是最平均的。越越堆着满脸的笑容找到了你,你就帮他写一个程序吧。

    输入输出格式

    输入格式:

    第一行:学生个数N;第二行开始的N行每行一个同学的综合能力测试的成绩。

    输出格式:

    输出一个数:N/2个同学的综合能力测试的成绩之和在不超过班级总分一半的前提下尽量达到的最高值。

    输入输出样例

    输入样例#1:
    8
    77
    77
    56
    77
    84
    77
    56
    46
    输出样例#1:
    273

    说明

    样例解释:总分550;总分的一半275;选择4名同学56 77 84 56 77 达到总分273;273是不超过275的最大值。(另一队的和是277)两队实力最接近。

    做总价值为总成绩一半的背包

     1 #include <algorithm>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 
     6 int n,MAX,a[2333],f[23333];
     7 
     8 int main()
     9 {
    10     scanf("%d",&n);
    11     for(int i=1;i<=n;i++)
    12         scanf("%d",a+i),MAX+=a[i];
    13     MAX=MAX+1>>1;
    14     for(int i=1;i<=n;i++)
    15         for(int j=MAX;j>=a[i];j--)
    16         f[j]=max(f[j],f[j-a[i]]+a[i]);
    17     printf("%d
    ",f[MAX]);
    18     return 0;
    19 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    delphi 焦点定位
    delphi cxgrid 添加分页
    推动力
    python enumerate 函数用法
    Python pass语句作用与用法
    Python 元组知识点
    python 练习多级菜单思路
    一点练习题
    优化mysql服务器
    对自己的忠告
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7428139.html
Copyright © 2011-2022 走看看