Educational Codeforces Round 64 -C(二分)
2024-09-05 16:53:23
题目链接:https://codeforces.com/contest/1156/problem/C
题意:给出n个数和整形数z,定义一对数为差>=z的数,且每个数最多和一个数组成对,求最多有多少对。
思路:先按升序排序,在区间[0,n/2]二分答案即可,判断m是否满足条件利用贪心思想,即看前x个数和后x个数是否能对应组成对。
AC代码:
#include<cstdio>
#include<algorithm>
using namespace std; int n,z,a[]; bool judge(int x){
bool ans=true;
for(int i=;i<x;++i)
if(a[i]+z>a[n+i-x]){
ans=false;
break;
}
return ans;
} int main(){
scanf("%d%d",&n,&z);
for(int i=;i<n;++i)
scanf("%d",&a[i]);
sort(a,a+n);
int l=,r=n/,m;
while(l<=r){
m=(l+r)>>;
if(judge(m)) l=m+;
else r=m-;
}
printf("%d\n",r);
return ;
}
最新文章
- HP滤波原理浅学
- OpenLayers工作原理
- 详解div+css相对定位和绝对定位用法
- 烂泥:Linux系统与windows系统文件同步
- NOIP2010提高组 机器翻译 -SilverN
- 如何写出让hr一看就约你面试的简历?
- rpm 命令
- ssm控制输出sql(二)
- Appium使用PageFactory初始化对象时报空指针错误
- C++数据结构之Linked Stack(链式栈)
- Java Collections Source Code Series 1 --- 简介
- Fidder的几点补充
- centos7下载安装谷歌浏览器
- SQL内连接-外连接join,left join,right join,full join
- 架构师之路——里氏替换原则LSP
- js函数柯里化,实现bind
- python与java的内存机制不一样;java的方法会进入方法区直到对象消失 方法才会消失;python的方法是对象每次调用都会创建新的对象 内存地址都不i一样
- ajax访问服务器的基础格式写法
- Android 敏感权限申请
- date简述
热门文章
- vue项目搭建步骤以及一些安装依赖包
- 【Winfrom-DataTable填充ListView】ListView与DataTable相互转换 .net
- Spring MVC 的 multipartResolver 不能同iWebOffice2006 共同使用
- javascript中的原型和原型链(一)
- ES6非常棒的特性-解构
- 获取select的option值
- linux iconv文件编码转换
- 第七周学习总结&;JAVA实验五报告。
- snmpEngineBoots &; snmpEngineID数据存储到非易失性存储设备
- DeepFaceLab:视频中有多人,仅替换特定人脸的方法!