题目链接:http://codeforces.com/problemset/problem/760/B

题意:n个床位,m个枕头,第k个位置最多有多少个枕头,其中相邻之间的差<=1;

第k个位置最大,那么两边只能是-1,-2,-3下走。

二分查找。

 #include <bits/stdc++.h>

 using namespace std;

 long long n,m,k;

 int Slove(long long mid) {
long long sum = ;
if(k>=mid)
{
sum+=(+mid)*mid/;
sum+=(k-mid);
}
if(k<mid) {
sum+=((mid-k+)+mid)*k/;
} if(k+(mid-)<=n) {
sum+=(+mid)*mid/;
sum+=n-(k+(mid-));
} if(k+(mid-)>n) {
sum+=(mid+(mid-n+k))*(n-k+)/;
}
if(sum-mid<=m) return ;
else return ;
} int main()
{
//scanf("%d%d%d",&n,&m,&k);
cin>>n>>m>>k;
long long ans = ;
long long l = ;
long long r = m;
while(l<=r) { long long mid = (l+r)/;
if(Slove(mid)==) {
ans = mid;
l = mid+;
}
else r = mid-;
}
cout<<ans<<endl;
return ;
}

最新文章

  1. Mysql 修改字段默认值
  2. Mac环境下 配置Python数据分析环境
  3. MySQL不能插入中文字符及中文字符乱码问题
  4. 如何解决inline-block元素的空白间距
  5. ORACLE建表练习
  6. JSP SQL注入--破法
  7. Failed to read artifact descriptor--maven问题总结(能力工场)
  8. c++异常安全和copy and swap策略
  9. EF中主表和附表一起提交的话,如果主附表的主键外键已经设定。
  10. Practical Common Lisp
  11. android弹出时间选择框
  12. PDO绑定含IN的SQL语句的参数注意事项
  13. javascript数组去重的3种方法
  14. 黄金Corner
  15. java爬虫进阶 —— ip池使用,iframe嵌套,异步访问破解
  16. Vue.js 源码学习笔记 - 细节
  17. guacamole实现RDP的下载
  18. 04 linux用户群组和权限
  19. LInux 分割合并文件
  20. 让IE10等支持classList2.0

热门文章

  1. Java json字符串对比
  2. sqlserver 索引进阶(上)
  3. 内置函数_eval
  4. c++中 函数的默认参数 学习
  5. 安装Office 2013 时提示找不到 Office.zh-cn\OfficeLR.cab
  6. java源文件组成部分
  7. maya2013安装失败如何卸载重装
  8. (转)AIX修改系统时区的3种方法和AIX 时间问题(夏令时)
  9. 【计算机网络】一步一步学习IP路由流程
  10. TP扩展Xxtea.class.php加密解密函数用法