博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces-1201 C Maximum Median
阅读量:5232 次
发布时间:2019-06-14

本文共 1157 字,大约阅读时间需要 3 分钟。

二分查找的典型应用,寻找虚无的值代入测试

1 #include 
2 #define _for(i,a,b) for(int i = (a);i < b;i ++) 3 typedef long long ll; 4 using namespace std; 5 inline ll read() 6 { 7 ll ans = 0; 8 char ch = getchar(), last = ' '; 9 while(!isdigit(ch)) last = ch, ch = getchar();10 while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();11 if(last == '-') ans = -ans;12 return ans;13 }14 inline void write(ll x)15 {16 if(x < 0) x = -x, putchar('-');17 if(x >= 10) write(x / 10);18 putchar(x % 10 + '0');19 }20 ll n,k; 21 ll a[200006];22 bool C(ll d)23 {24 ll line = a[n/2]+d;25 ll tmpk = k;26 tmpk -= d;27 _for(i,n/2+1,n)28 if(a[i]
=0;33 }34 ll solve()35 {36 ll lb = 0,ub = 1000000002;37 while(ub - lb > 1)38 {39 ll mid = lb+(ub-lb)/2;40 if(C(mid)) lb = mid;41 else ub = mid;42 }43 return lb;44 }45 int main()46 {47 n = read(),k = read();48 _for(i,0,n)49 a[i] = read();50 sort(a,a+n);51 ll rnt = solve();52 write(rnt+a[n/2]);53 return 0;54 }

 

转载于:https://www.cnblogs.com/Asurudo/p/11301711.html

你可能感兴趣的文章
python基础:面向对象
查看>>
编译安装 LLVM
查看>>
2019-06-07 学习日记 day28 THML
查看>>
Books
查看>>
C 语言代码规范
查看>>
Google Reader 7.1停止服务
查看>>
netty 粘包问题处理
查看>>
http协议
查看>>
两进程的binder应用
查看>>
python3 购物车程序
查看>>
pthread_create 内存泄漏 valgrind
查看>>
大话重构读书笔记——实践篇二
查看>>
升级webpack2
查看>>
sudo cd的错误
查看>>
栈模型的实现--链表实现
查看>>
网络编程 tcp(一)
查看>>
项目群管理
查看>>
前端之CSS
查看>>
Dapper优秀资料
查看>>
[C#6] 6-表达式形式的成员函数
查看>>