CodeForces - 1701C
2024-09-08 05:08:59
题意: 每个位置对应一种适合的工人,适合的工人工作消耗1h,不适合2h,每个工人不能同时工作多个机器,问将所有机器工作完毕的最小时间是多少。
题解: 二分,对于mid, 判断比他小的和比他大的,然后判断两者之间的大小关系即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;
const int N=2e5+10;
ll a[N];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
ll t;cin>>t;
while(t--){
ll n,m;cin>>n>>m;
vector<ll> sum(n+1,0);
for(ll i=1;i<=m;i++){
ll p;cin>>p;sum[p]++;
}
ll l=1,r=1e9;
while(l<r){
ll mid=l+r>>1;
ll p=0,q=0;
for(ll i=1;i<=n;i++){
if(mid<sum[i]) p+=sum[i]-mid;//需要几个人代替
else if(mid>=sum[i]) q+=(mid-sum[i])/2;//把不适合的人顶替上
}
if(q>=p){
r=mid;
}
else l=mid+1;
}
cout<<l<<endl;
}
}
最新文章
- HDU 1232 并查集/dfs
- ES6 fetch函数与后台交互
- android studio提示unable to run mksdcard sdk
- KMP算法的代码实现
- Access数据库在线压缩的实现方法
- C#- FTP递归下载文件
- Karma-Jasmine之安装与实例详解(一)
- jquery.validate.js默认配置,jquery.validate.js自定义提示信息
- c#添加事物(全部执行和带保存点的执行)
- 解决ubuntu不能安装g++的问题
- jenkins新建slave
- 深入理解Redis高可用方案-Sentinel
- SignalTap导致PCIe Read/Write卡死
- Scrapy小技巧-MySQL存储, MYSQL拼接
- HTTP Security Header Not Detected未检测到HTTP安全标头
- How-to Install VMware Tools on Debian Stretch 9 32/64bit Linux+GNU
- css给表格每一列设置不同的样式
- Gogent相关问题的解决(不断更新)
- windows下类似Linux下的grep命令
- jsp中URL传递中文參数的处理
热门文章
- 介绍一个好用的dao层与mybatis互跳的idea插件MyBatisCodeHelperPro
- 24.Haproxy搭建Web群集
- JS:undefined number
- ShardingSphere-proxy-5.0.0容量范围分片的实现(五)
- umask默认权限及特殊权限
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
- 避坑手册 | JAVA编码中容易踩坑的十大陷阱
- Elasticsearch面试题
- netcore 非注入全局获取配置文件
- linux 文件存放目录