题目链接:点击打开链接

题目大意:有 n 种商品以及这些商品的价值与数量,每天只能购买一件商品,且 ans 为 sum(ti×vali) ,其中 ti 为第几天,求最终所能得到的最大 ans

解题思路:整理好数组并从大到小排序,以及 sum[i] 从 arr[i],[0,k) 开始逐个相加,最后(最关键)只要sum[i]>=0就相加,否则break;此时你肯定会问为什么这样就能保证正确答案?!请看测试用例规律。

4
-1 -100 5 6
1 1 1 2

arr[i]:   6 6 5 -1 -100
cnt[i]:   4 3 2 1
sum[i]: 6 12 17 16 -84

6:1+1+1+1
6:1+1+1
5:1+1
-1:1

AC 代码

#include<bits/stdc++.h>
#include<cmath>#define mem(a,b) memset(a,b,sizeof a);using namespace std;typedef long long ll;
const int maxn=1e5+100;
ll arr[maxn];
ll sum[maxn];int main()
{int n;while(~scanf("%d",&n)){for(int i=0;i<n;i++){int a; scanf("%d",&a);arr[i]=a;}int k=n;for(int i=0;i<n;i++){int a; scanf("%d",&a);for(int j=1;j<a;j++)arr[k++]=arr[i];}sort(arr,arr+k,greater<ll>());sum[0]=arr[0];for(int i=1;i<k;i++)sum[i]=sum[i-1]+arr[i];ll ans=0;for(int i=0;i<k;i++)if(sum[i]>=0) ans+=sum[i];else break;printf("%lld\n",ans);}return 0;
}

ZCMU - 2010: company相关推荐

  1. java 注释快捷打出时间_Java快捷---自动注释时间作者。。。

    在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Co ...

  2. java读取日志_Java实时监控日志文件并输出的方法详解

    前言 最近有一个银行数据漂白系统,要求操作人员在页面调用远端Linux服务器的shell,并将shell输出的信息保存到一个日志文件,前台页面要实时显示日志文件的内容.这个问题难点在于如何判断哪些数据 ...

  3. Eclipse自动生成作者、日期注释功能设置

    在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Co ...

  4. JAVA获得当前时间的几种方法

    package com.xjp.common.util; import Java.sql.Timestamp; import java.text.ParsePosition; import java. ...

  5. Eclipse自动生成作者、日期注释等功能设置

    Eclipse自动生成作者.日期注释等功能设置 在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Pre ...

  6. java实现rar格式,java解压缩文件的实现示例,支持rar和zip格式

    [      最近有个项目需要用Java做解压缩Zip文件,由于JDK自带的zip相关的类都不支持以中文命名的文件,所以在网上搜索了些资料,自己花了点时间研究了下.希望和大家分享下 解压ZIP需要用到 ...

  7. java 获取当前系统时间 时间比较

    JAVA获得当前时间的几种方法 一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; publ ...

  8. JavaScript中的 语法糖 是什么?

    专业的解释 在计算机科学中,语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的 ...

  9. 语法糖是什么?(ES6的一些小笔记)

    专业的解释 在计算机科学中,语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的 ...

最新文章

  1. 撩课-Java每天5道面试题第11天
  2. oracle复合索引介绍(多字段索引)
  3. (转)随机数生成工具
  4. 使用MegaCli工具,在线调整raid配置
  5. 小波分解与小波包分解的区别
  6. 201771010102 常惠琢 《面向对象程序设计(java)》第十三周学习总结
  7. RuntimeError: cuda runtime error (100) : no CUDA-capable device is detected at /opt/conda/conda-bld/
  8. 用 Python 制作各种用途的二维码
  9. 【数据集】人工智能领域比较常见的数据集汇总
  10. 东野奎吾--《新参者》--读后感
  11. 在ROS中创建并优化机器人URDF模型
  12. 对拍时如何生成一棵树
  13. FPGA驱动千兆以太网PHY但电脑只显示百兆
  14. day17_自动化的框架搭建
  15. 【自动控制原理】频域分析法
  16. cherrytree怎么导出html,CherryTree一个功能强大的便笺记事本 | MOS86
  17. PPT投影时常用快捷键
  18. 杭电OJ 2629 Identity Card(C++)
  19. Java开发中的加密、解密、签名、验签,密钥,证书,这篇就够了,赶紧收藏起来
  20. 实用高效,5款腾讯热门开源项目推荐

热门文章

  1. 服装行业数字化改革及未来趋势
  2. caffe之deconv
  3. 如何通过关闭superfetch减小Win7备用缓存提高电脑速度
  4. 一个普通男人眼中的不错的男人
  5. 有什么职业入行时间短,薪资高?
  6. Putty使用Key登录服务器的过程
  7. 操作系统 第二章进程管理(自我总结式)
  8. 开源雨林 | 从高校中走出的 Apache 顶级项目 —— IoTDB 核心成员黄向东访谈实录...
  9. JBPM4.4入门学习一:JBPM安装配置及构建数据库环境
  10. 黑马程序员iOS10.0新课程与苹果发布会在9月8号同步发布