Codeforces Round #510 (Div. 2)(A)
https://www.cnblogs.com/violet-acmer/p/9682082.html
题意:
公园里有n个沙滩,a[i]表示第i个沙滩初始人数,现有m个人可以到任意沙滩,在这m个人全部到达任意沙滩后,求沙滩最多人数的最大值和最小值
例如:
假设有n=5,m=3
a[i] = :1 2 3 4 5
沙滩人数最大化便是这m个人全到第5个沙滩上,a[5]=8,当前所有沙滩的最大值为8
使沙滩人数最大值尽量最小化,第一个人可以来到第一个沙滩,第二个人来到第二个,第三个人来到第三个,此时当前所有沙滩最大值为5
或这3个人全来到第一个沙滩,第一个沙滩的总人数为4,故此时最大值还是5
但若有任意一人来到第五个沙滩,则最大值就变成了6 > 5
题解:
易得最大值最大化便是当前沙滩最大人数+m;
最小化:这m个人优先来到最大值之外的其余沙滩,如果所有沙滩的人数都变成了起初值最大的那个沙滩的人数,则将剩余的人平均分到这n个沙滩上
AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=; int n,m;
int a[maxn]; void Initial()
{
scanf("%d%d",&n,&m);
for(int i=;i <= n;i++)
scanf("%d",&a[i]);
}
void Process()
{
sort(a+,a+n+);
int res=m;
for(int i=;i < n;++i)
res -= (a[n]-a[i]);
if(res <= )
printf("%d %d\n",a[n],a[n]+m);
else//如果res 有剩余
{
int k=res/n;//平均每个沙滩有k个人新加入
printf("%d %d\n",a[n]+k+(res%n == ? :),a[n]+m);
}
}
int main()
{
Initial();
Process();
}
Codeforces Round #510 (Div. 2)(A)的更多相关文章
- Codeforces Round #510 (Div. 2)
Codeforces Round #510 (Div. 2) https://codeforces.com/contest/1042 A 二分 #include<iostream> usi ...
- Codeforces Round #510 (Div. 2) D. Petya and Array(离散化+反向树状数组)
http://codeforces.com/contest/1042/problem/D 题意 给一个数组n个元素,求有多少个连续的子序列的和<t (1<=n<=200000,abs ...
- Codeforces Round #510 (Div. 2) B. Vitamins
B. Vitamins 题目链接:https://codeforces.com/contest/1042/problem/B 题意: 给出几种药,没种可能包含一种或多种(最多三种)维生素,现在问要吃到 ...
- Codeforces Round #510 (Div. 2) D. Petya and Array(树状数组)
D. Petya and Array 题目链接:https://codeforces.com/contest/1042/problem/D 题意: 给出n个数,问一共有多少个区间,满足区间和小于t. ...
- Codeforces Round #510 (Div. 2)(C)
传送门:Problem C https://www.cnblogs.com/violet-acmer/p/9682082.html 题意: 给你n个数,定义有两种操作 ① 1 i j : (i != ...
- Codeforces Round #510 (Div. 2)(B)
传送门:Problem B https://www.cnblogs.com/violet-acmer/p/9682082.html 题意: 如果可以通过喝果汁将维生素A,B,C全部摄取,求最小花费,如 ...
- codeforces 1042d//Petya and Array// Codeforces Round #510 (Div. 2)
题意:给出一个数组,求其中和小于t的区间数. 先计算前缀和数组sum[i].对当前的sum[i],查询树状数组中有几个比(sum[i]-t)大的数,那么用sum[i]减它就是一个合法区间.再将当前的s ...
- codeforces 1042c// Array Product// Codeforces Round #510(Div. 2)
题意:给出一个数组,2种操作:.1:x*y然后x消失,2:除掉x(2操作最多只能进行一次).问最大的结果的一种操作方式.逻辑题,看能不能想全面. 1先数好0,正,负的数量,zero,pos,neg.如 ...
- Codeforces Round #510 Div. 2 Virtual Participate记
这场打的顺手到不敢相信.如果不是vp的话估计肯定打不到这个成绩. A:最大显然,最小的话每次暴力给最小的+1. #include<iostream> #include<cstdio& ...
随机推荐
- svn代码发版的脚本分享
背景:开发将其代码放到svn里面,如何将修改后存放到svn里的代码发布到线上?简单做法:写个shell脚本,用于代码发版.比如开发的代码存放svn的路径是:svn://112.168.19.120/h ...
- Python-注册登陆-20
username = input('请输入你要注册的用户名:') password = input('请输入你要注册的密码:') with open('list_of_info',mode='w',e ...
- D. Bicolorings
传送门 [http://codeforces.com/contest/1051/problem/D] 题意 相当于有个2列n行得棋盘,棋盘上的格子只能是黑或者白,问你联通块为k得方案数有多少,结果对 ...
- 对于League of Legends的分析
League of Legends是一款在国内甚至国际上都很受欢迎的一款网络竞技行的游戏.它是由美国Riot Games开发,腾讯游戏运营的英雄对战网游.<英雄联盟>除了即时战略.团队作战 ...
- 12.13 Daily Scrum
现在已经可以实现在应用中直接通过WebView浏览餐厅的网页,而不用再调用手机的浏览器. 收藏夹的功能也基本实现,接下来的目标时将收藏夹与每一个用户关联. Today's Task Tomorro ...
- 业务-----部门Service常用逻辑
1.org实体类 public class Org implements Serializable { private static final long serialVersionUID = 1L; ...
- 文件系统的block 数据库中的block 以及内存中的page基础知识汇总(自己理解 可能有误)
1. 操作系统文件系统中的的block 文件系统中的block 是文件系统最小的读写单元,在HDD的磁盘时代, 一般block的大小可能与磁盘的扇区大小一致为 512bytes 也因为这个原因MBR启 ...
- Jquery ajax ajaxStart()和ajaxStop()加载前的优雅表现
Jquery中当一个Ajax请求启动时,并且没有其他未完成的Ajax请求时,将调用ajaxStart()方法.同样,ajaxStop()方法则是在所有Ajax请求都完成时调用.这些方法的参数都是一个函 ...
- JetBrains全系列破解
教程开始: 进入自己安装idea路径的bin目录下,将刚刚下载好的JetbrainsCrack.jar复制到此目录下: 还是在bin目录下,找到idea.exe.vmoptions和idea64.ex ...
- 二本毕业,我是如何逆袭成为BAT年薪40W的Java工程师的?
身边的师弟师妹经常问到:非计算机专业出身,你是在2年内如何逆袭成BAT年薪40W的资深开发工程师的.其实很简单——努力! 我16年毕业于普通的二本学校,非计算机专业出身,只因为对软件开发感兴趣,所以找 ...