Codeforces Round #577 (Div. 2) C. Maximum Median (模拟,中位数)
2024-09-06 05:47:02
题意:给你一个长度为奇数\(n\)的序列.你可以对任意元素加上\(k\)次\(1\),求操作后的中位数最大.
题解:先对序列进行排序,然后对中位数相加,如果中位数和后面的元素相等,就对后面所有和当前中位数相等的元素++,然后再对中位数++,不断往复这个过程就好了,具体看代码.
代码:
int n;
ll k;
ll a[N];
ll cnt[N]; int main() {
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>n>>k;
for(int i=1;i<=n;++i) cin>>a[i]; sort(a+1,a+1+n);
int mid=(n+1)/2;
for(int i=mid+1;i<=n;++i) cnt[i]=a[i]-a[i-1]; ll ans=a[mid];
for(int i=mid+1;i<=n;++i){
ll id=i-mid;
ll cur=k/id;
if(cur==0) break;
k-=min(cnt[i]*id,cur*id);
ans+=min(cnt[i],cur);
} if(k){
ll cur=k/(n/2+1);
ans+=cur;
} cout<<ans<<endl; return 0;
}
最新文章
- CSS3系列之3D制作
- 关于GridView的第一个item图片加载不出来问题
- Angularjs,WebAPI 搭建一个简易权限管理系统 —— Angularjs名词与概念(一)
- Html5 Geolocation获取地理位置信息
- Android实现简单短信发送器
- C#获取相对路径的方法
- C++不完整的类型
- IOS网络编程——第三方类库
- 同时安装vs2010和VS2012后IEnumerable<;ModelClientValidationRule>;编译错误
- OD: Register, Stack Frame, Function Reference
- 解决项目中找不到Maven Dependencies
- 工业级GBDT算法︱微软开源 的LightGBM(R包正在开发....)
- C#使用ES
- [Tomcat]The JRE_HOME environment variable is not defined correctly
- webstorm的一些小技巧
- 怎样去写线程安全的代码(Java)
- 翻译api调用
- bzoj1633 / P2875 [USACO07FEB]牛的词汇The Cow Lexicon
- redis 安装与php扩展
- 使用 sqoop 将 hive 数据导出到 mysql (export)