http://codeforces.com/problemset/problem/1111/B

n 表示要输入的数据的个数

k 最每一个数据最多可以进行多少次操作

m 一共可以进行多少次操作

一次操作:删除这个数,或者给这个数加1

如果n为1的话,那么只要找出m和k的最小值加到那个数上即可

如果n大于等于2的时候,先计算出总的sum,sort,减去一些数字,把每一次减去以后的结果与前一次的进行比较,记录下较大的那一个,for循环的次数就是m和n-1中较小的那个数,因为最多也就只能删除n-1个数,最多也就只能进行m次操作,真的有点妙,需要仔细琢磨

#include <iostream>
#include <cstdio>
#include <algorithm>
typedef long long ll;
using namespace std;
int a[100000+10];
int main()
{int i,n,k,m;cin >> n >> k >> m;ll sum=0;for(i=1;i<=n;i++){cin >> a[i];sum += a[i];}double ans = 1.0*(sum + min(k*n,m))/n;if(n==1){printf("%.20f",ans);}else{sort(a+1,a+n+1);for(i=1;i<=min(m,n-1);i++){sum -= a[i];double res = 1.0*(sum + min((ll)(n-i)*k,(ll)(m-i)))/(n-i);ans = max(ans, res);}printf("%.20lf",ans);}return 0;
}

【Codeforces】1111B - Average Superhero Gang Power相关推荐

  1. 1111B - Average Superhero Gang Power

    刷数学题不知道为啥出来这个 算是贪心吧,先把所有的power加起来,然后sort一遍,每次删掉最小的那个数,记录一个max,平均值ave如果比max大,就替换,一定要小心m的值可能会比n小,意味着不一 ...

  2. 【Codeforces】Round #488 (Div. 2) 总结

    [Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...

  3. 【Codeforces】925A Stairs and Elevators【贪心】

    [Codeforces]925A Stairs and Elevators [题目大意] 在一个n*m的矩阵里,有clcl个楼梯和cece个电梯,电梯和楼梯可以到任意一层,给出clcl个楼梯的位置和c ...

  4. 【CodeForces】[546A]Soldier and Bananas

    直接运算 并没有什么弯 注意int就足以储存数据 不需要借钱时(n>res) 输出 0 #include<stdio.h> int main() {int k,n,w;while(s ...

  5. 【CodeForces】445B A Lot of Games 字典树博弈

    传送门:[CodeForces]445B  A Lot of Games 题目大意:两人一起构造一个串,每人每次向串的末尾放一个字母,必须保证放了这个字母后能够成所给的N个串的前缀,如果某个人不能放时 ...

  6. 【Codeforces】1080C Masha and two friends (棋盘染色)

    http://codeforces.com/problemset/problem/1080/C 给定一个棋盘,(1,1)的位置是白色,观察可以知道,如果横纵坐标之和是偶数,那么是白色,奇数的话就是黑色 ...

  7. 【Codeforces】【161Div2】

    [题目来源]http://www.codeforces.com/contest/263 [A. Beautiful Matrix] [解析]模拟即可.按照题目的意思,找到1所在的位置(x, y),然后 ...

  8. 【CodeForces】961 F. k-substrings 字符串哈希+二分

    [题目]F. k-substrings [题意]给定长度为n的串S,对于S的每个k-子串$s_ks_{k+1}...s_{n-k+1},k\in[1,\left \lceil \frac{n}{2} ...

  9. 【codeforces】【比赛题解】#940 CF Round #466 (Div. 2)

    人生的大起大落莫过如此,下一场我一定要回紫. [A]Points on the line 题意: 一个直线上有\(n\)个点,要求去掉最少的点,使得最远两点距离不超过\(d\). 题解: 暴力两重fo ...

最新文章

  1. 职业高中高一计算机的基本知识,职业高中计算机论文
  2. python3(十一)内置模块和类型转换
  3. chrome修改js数据怎么生效_chrome浏览器中 F12 功能的简单介绍
  4. Spring Resource接口获取资源
  5. sqlserver检测到基于一致性的逻辑_面试官;解决分布式场景下数据一致性问题
  6. 软件工程 java实现_软件工程作业——WC Java实现
  7. 自学python能找到工作吗-自学Python好找工作吗?
  8. winapi编程获取文件版本信息的代码_.Net调用WinAPI轻松实现POS小票并口打印
  9. Eclipse-导入maven项目
  10. 汉字字符编码的科普笔记(GB2312汉字编码,Unicode与UTF-8,字符映射表,vim,文泉驿,正则表达式)
  11. 完全卸载vs2008
  12. nginx 支持HTTPS fdfs
  13. NMOS和PMOS详解以及电路设计
  14. C语言做的猜数字小游戏
  15. 【爬虫】Python爬虫经验分享--爬取码市招聘项目
  16. PPT总是处于“只读模式”可以这样解决
  17. 我们这么努力到底为了什么
  18. c#-中国象棋:画棋盘
  19. php相册排版,照片拼图在线制作 自带多种照片拼图模板,自由排版将多张照片合成一张...
  20. 天下无贼台词经典(收藏)

热门文章

  1. 软件测试培训分享:软件测试岗位面试技巧有哪些?
  2. UI设计培训:UI设计师离不开的基本版式设计
  3. Android控件系统(三)——Window与WindowMananger
  4. Flask上下文管理源码分析
  5. Forefront for OCS2007之部署
  6. 感悟Windows7
  7. 分享一波 RabbitMQ 面试题有答案
  8. java8学习之Lambda表达式深入与流初步
  9. 避免在JSP中写java代码
  10. 使用grep过滤make的输出内容