2018省赛A组第10题 付账问题

题目链接http://oj.ecustacm.cn/problem.php?id=1367
思路: 平均是每个人应该付a/n,但由于带的钱不够,所以先让钱少的人先付(从小到大),然后每次都更新还需付的s,直到有一个人可以支付s/n’(注意,这是一个新的平均数),即后面的人都可以支付的起,新的平均数,然后都支付这个数即可。

#include<iostream>
#include<cmath>
#include<algorithm>using namespace std;
const int N = 5e5;
long long  a[N];int main() {int n;long long s;cin >> n >> s;for (int i = 0; i < n; i++) {cin >> a[i];}sort(a, a + n);double avg = s * 1.0 / n;double sum = 0;for (int i = 0; i < n; i++) {if (a[i] * (n - i) < s) {sum += (a[i]-avg)* (a[i] - avg);s -= a[i];//更新还差多少钱}else {//剩下的人中,钱最少的人都可以达到s/(n-i),注意这里的s是还差多少钱double avg_t = s * 1.0 / (n - i);sum += ( avg_t-avg) * (avg_t - avg) * (n - i);break;}}printf("%.4lf",sqrt(sum/n));return 0;
}

罗老师代码链接https://blog.csdn.net/weixin_43914593/article/details/112930544

1367: [蓝桥杯2018初赛]付账问题相关推荐

  1. [蓝桥杯2018初赛]第几天-日期计算(水题)

    闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的.补上时间差的年份为闰年.闰年共有366天(1月~12月分别为31天.29天.31天.30天.31天. ...

  2. [蓝桥杯2018初赛]日志统计-双指针

    代码如下: #include <iostream> #include <algorithm> using namespace std; typedef pair<int, ...

  3. [蓝桥杯2018初赛]字母阵列-单向dfs

    题目描述 仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:"LANQIAO". SLANQIAO ZOEXCCGB MOAYWKHI BCCIPLJQ SLANQIAO ...

  4. [蓝桥杯2018初赛]方格计数-巧妙枚举,找规,数论

    解题思路: 枚举第一象限的所有点,判断是否在圆内,最后结果*4 我们用下面的程序,来算一个半径为2的圆,其实我们第一象限算的就是那个绿点,然后类比到半径5000. 代码如下: #include < ...

  5. [蓝桥杯2018初赛]全球变暖-dfs,bfs,连通块

    解题思路: bfs:遍历所有未遍历过的陆地,通过bfs计算出当前位置连通陆地的数量cnt,以及被淹没陆地的数量bound,若cnt == bound表示完整淹没的一个岛屿 dfs:将连通块全部标记,如 ...

  6. [蓝桥杯2018初赛]次数差-模拟,map容器

    题目描述 x星球有26只球队,分别用a~z的26个字母代表.他们总是不停地比赛. 在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串. 国王总是询问:获胜次数最多的和获胜次数最少 ...

  7. [蓝桥杯2018初赛]星期一-日期计算

    题目描述 整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一? (不要告诉我你不知道今天是星期几) 输出 输出一个整数表示答案 代码如下: #include <i ...

  8. [蓝桥杯2018初赛]递增三元组-双指针,枚举,排序,前缀和

    题目描述 给定三个整数数组 A = [A1, A2, - AN], B = [B1, B2, - BN], C = [C1, C2, - CN], 请你统计有多少个三元组(i, j, k) 满足: 1 ...

  9. [蓝桥杯2018初赛]第几个幸运数-数论+枚举

    代码如下: #include <iostream> #include <cmath> using namespace std; typedef long long LL; LL ...

最新文章

  1. c语言赋值x为字母,C语言算术、赋值、关系、逻辑运算详细剖析---
  2. [20160321]bvi使用问题2.txt
  3. GPU高性能编程CUDA实战(二)
  4. php获取屏幕的宽高,JS获取屏幕宽高
  5. malloc和free——结构体中动态内存的管理
  6. FreeMarker缓存处理
  7. mit景观生成技术_永远不会再为工作感到不知所措:如何使用MIT技术
  8. 【万字长文】探讨可信构架之道
  9. poj 2421 ConstructingRoads 最小生成树 Prim、Kruskal
  10. STM32CubeMx配置H7时钟: Frequency searched for is out of range for this vos range
  11. 精选 | 2018年1月R新包推荐
  12. js计算两个整数之间的百分比
  13. Java课程设计——学生成绩管理系统
  14. Unity基础:简易道具生成
  15. MySQL索引失效场景以及解决方案
  16. 第17章:使用 concurrent.futures 模块处理并发-使用 futures.as_completed 函数立刻获取多线程任务执行结果
  17. 洛谷 P1359 租用游艇(简单dp/Dijkstra)
  18. xmind各版本区别_思维导图工具 XMind 出了一个高颜值版:XMind ZEN
  19. python中lstrip_Python中的lstrip()方法使用简介
  20. VUE项目引入微信JSSDK 实现微信自定义分享

热门文章

  1. NS3中路由协议分析【AODV代码分析】
  2. vue实现查询组件的封装
  3. 论计算机的维修策略论文,论计算机的维护维修策略(论文).doc
  4. java集成RSA非对称加密数据传输
  5. [原]Wap push over sms 实践
  6. mysql 查询 唯一_Mysql中如何查询所有唯一记录
  7. 安卓应用软件开发必学的基础内容
  8. 【Pytorch Lighting】第 8 章:自监督学习
  9. Int16, Int32, Int64 范围
  10. 基于JAVA东理咨询交流论坛计算机毕业设计源码+系统+数据库+lw文档+部署