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

    题目描述

    班级要组织一场综合能力竞赛,全班同学(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)两队实力最接近。

    01背包

    屠龙宝刀点击就送

    #include <cstdio>
    
    int f[15000],sum,n,s[150];
    int max(int a,int b) {return a>b?a:b;}
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;++i) scanf("%d",&s[i]),sum+=s[i];
        int Limit=sum%2==0?sum/2:sum/2+1;
        for(int i=1;i<=n;++i)
         for(int j=Limit;j>=s[i];--j)
          f[j]=max(f[j-s[i]]+s[i],f[j]);
        printf("%d
    ",f[Limit]);
        return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    余佳文 超级课程表创始人
    JavaScript 运行机制详解:再谈Event Loop
    koa2 async和await 实战详解
    node.js
    Mac版MySQL安装最新教程
    nw.js 打包与发布
    【514】keras Dense 层操作三维数据
    【513】keras 后端函数说明
    【512】keras 中的核心网络层
    【511】Keras 函数式 API
  • 原文地址:https://www.cnblogs.com/ruojisun/p/7428361.html
Copyright © 2011-2022 走看看