题目:10954 - Add All

题目大意:求n个数的和,可是有点不一样的是题目要求计算最少花费。每次两个数相加,得到的那个数就是每次计算的cost。

解题思路:之前没有想到用multiset,自己写好麻烦。

要求cost 最小的话,说明每次都将这些数里面最小的两个做相加。这样每次花费都是最小的。

用multiset。就能够将每次计算的结果插入这些已经有序的数据中对应的位置。使得这个序列依然有序。

代码:

#include <stdio.h>
#include <set>
using namespace std;int n;
multiset<int> num;long long solve () {long long sum = 0;multiset<int>::iterator it1, it2;long long temp;while (1) {if (num.size() == 1)break;it1 = num.begin();it2 = it1++;temp = *it1 + *it2;sum += temp;num.erase(it1);num.erase(it2);num.insert(temp);}return sum;
}int main () {int temp;while (scanf ("%d", &n), n) {num.clear();for (int i = 0; i < n; i++) {scanf ("%lld", &temp);num.insert (temp);}printf ("%lld\n", solve());}return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

uva10954 - Add All(multiset功能)相关推荐

  1. UVA-10954 Add All

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  2. Guava新集合-Multiset

    2019独角兽企业重金招聘Python工程师标准>>> Multiset集合 Multiset是什么?顾名思义,Multiset和Set的区别就是可以保存多个相同的对象.在JDK中, ...

  3. docker学习笔记16:Dockerfile 指令 ADD 和 COPY介绍

    一.ADD指令 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录.以及一个URL标记的文件 拷贝到镜像中. 其格式是: ADD  源路径  目标路径 如: #test FROM ubunt ...

  4. List集合的特有功能概述

    public class List { public static void main(String[] args){ ArrayList list = new ArrayList(); list.a ...

  5. git add 失效

    中午写完代码发现,提交的时候发现git add 失效?什么鬼? 原因: (1) 网上说无效主要,产生的主要原因是没有再仓库的根目录下执行此命令(感觉是瞎BB) (2) lock文件,进行了版本锁定 ( ...

  6. WPF:从WPF Diagram Designer Part 4学习分组、对齐、排序、序列化和常用功能

    在前面三篇文章中我们介绍了如何给图形设计器增加移动.选择.改变大小及面板.缩略图.框线选择和工具箱和连接等功能,本篇是这个图形设计器系列的最后一篇,将和大家一起来学习一下如何给图形设计器增加分组.对齐 ...

  7. ASP.NET中实现MSN通知消息功能

    MSN由个很好的功能,就是每当你的MSN好友上线时,MSN会自动在窗体托盘的右下角由下往上弹出消息框来通知你,这个功能十分实用,比如在论坛里,当有新回复你的帖子时,系统会自动弹出消息提示框,又或者在一 ...

  8. Dockerfile的ADD和COPY命令

    文章目录 一.ADD指令 二.COPY指令 一.ADD指令 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录.以及一个URL标记的文件 拷贝到镜像中,将本地文件添加到容器中,tar类型文件 ...

  9. java multiset_Guava Multiset接口

    Multiset接口扩展设置有重复的元素,并提供了各种实用的方法来处理这样的元素在集合中出现. 接口声明 以下是com.google.common.collect.Multiset接口的声明: @Gw ...

最新文章

  1. 小米node2红外_使用python-miio控制小米智能插座
  2. bzoj2538: [Ctsc2000]公路巡逻
  3. Unit Testing in iOS
  4. Python函数之 ceil, floor,round
  5. 软件生存周期文档系列 之 6.用户操作手册
  6. 利用高阶函数map和reduce将字符串转化成浮点数
  7. 新员工进入公司,应告知的工作纪律
  8. 您不是订单管理的定向开发者_全面升级投放和营销能力 华为应用市场商业推广助力开发者高效增长...
  9. 通过Kali linux 模拟CC攻击进行WEB压力测试实战
  10. My sql 存储过程实例
  11. 计算机病毒论文课题内容,计算机病毒防治学论文选题 计算机病毒防治论文题目怎样定...
  12. 万年历(hao123)代码
  13. 我只是一只大本钟[铛铛铛]
  14. 中国大陆手机号码如何注册谷歌账号?完美解决收不到验证码的问题
  15. 后台管理使用微信扫码登录(小程序登录)
  16. html实现凹陷效果,css3怎么实现字体凹陷凸出效果?(附代码)
  17. ServU漏洞利用靶场-单兵作战
  18. Python 的“self“参数是什么?
  19. centos 开启关闭网卡(禁用网卡)
  20. mtk9652和mt9638选哪个好

热门文章

  1. 浙江大学远程教育计算机应用基础第4次,浙江大学远程教育计算机应用基础5.Powerpoint知识题.docx...
  2. php数字转英文,PHP金额数字转换成英文
  3. 数据库系统概论:第七章 数据库设计
  4. 现代操作系统:进程和线程总结
  5. 广州linux课程,广州linux课程培训
  6. 解决jquey中当事件嵌套时,内层事件会执行多次的问题
  7. mysql查询优化技巧
  8. 理解JS中的this的指向
  9. 汇编第二章节检测2-1
  10. 回归Dos操作的快感,进入PowerShell世界 (转)