题目描述:
n hobbits are planning to spend the night at Frodo’s house. Frodo has n beds standing in a row and m pillows (n ≤ m). Each hobbit needs a bed and at least one pillow to sleep, however, everyone wants as many pillows as possible. Of course, it’s not always possible to share pillows equally, but any hobbit gets hurt if he has at least two pillows less than some of his neighbors have.

Frodo will sleep on the k-th bed in the row. What is the maximum number of pillows he can have so that every hobbit has at least one pillow, every pillow is given to some hobbit and no one is hurt?
输入描述:
The only line contain three integers n, m and k (1 ≤ n ≤ m ≤ 109, 1 ≤ k ≤ n) — the number of hobbits, the number of pillows and the number of Frodo’s bed.
输出描述:
Print single integer — the maximum number of pillows Frodo can have so that no one is hurt.
输入:
4 6 2
3 10 3
3 6 1
输出:
2
4
3
题意:
n个床位,m个枕头,第k个位置最多有多少个枕头,其中相邻之间的差<=1;
题解
以k位置为中心,枕头数量向两侧递减。二分搜索答案。
代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;typedef long long ll;
int n,m,k;int main(){while(scanf("%d%d%d",&n,&m,&k)!=EOF){m -= n;ll l = 0;ll r = m;ll ls = k - 1;ll rs = n - k;ll ans = 0;while(l <= r){ll mid = (l + r) / 2;ll sum = mid;if(mid >= ls){sum += (mid * 2 - ls - 1) * ls / 2;}else sum += (mid - 1) * mid / 2;if(sum > m){r = mid - 1;continue;}if(mid >= rs){sum += (mid * 2 - rs - 1) * rs / 2;}else sum += (mid - 1) * mid / 2;if(sum > m) r = mid - 1;else if(sum < m){ans = mid + 1;l = mid + 1;}else{ans = mid + 1;break;}}cout<<ans<<endl;}return 0;
}

Codeforces--760B--Frodo and pillows相关推荐

  1. 【CodeForces - 760B 】Frodo and pillows (二分题意,注意细节)

    题干: n hobbits are planning to spend the night at Frodo's house. Frodo has n beds standing in a row a ...

  2. Frodo and pillows CodeForces - 760B 二分 注意l和r的选择

    以后写l和r的初始值的时候,在不影响合理性的前提下,尽量写大一点 比如下面这个代码,如果r不加以或者l==0就不行 #include <iostream> #include <cst ...

  3. Codeforces Roud#393

    B. Frodo and pillows time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  5. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  6. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  7. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  8. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  9. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  10. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

最新文章

  1. Javascript类的写法
  2. (三)Linux查看和修改文件权限
  3. 关于工程技术中PE、ME、TE、IE、EE的解说
  4. P3246 [HNOI2016]序列(莫队+单调栈+ST表)
  5. web.xml配置中classpath:与classpath*:的区别
  6. USDC流通量已经超过33亿
  7. 一个很好的反选的例子
  8. 贝店与谷歌、阿里巴巴同台亮相电博会,获市领导点赞
  9. 如何学习C4D建模并达到精通?
  10. linux开发板访问互联网 笔记本win10中虚拟机
  11. 1.本地Linux-安装OpenSIP及Yate客户端测试
  12. 俄罗斯方块游戏设计与实现
  13. 青岛胶州职业教育中心计算机基础专业证,胶州市职业教育中心学校着眼胶州发展大局,精准培养人才...
  14. 信息学奥赛一本通 1296:开餐馆(evd)
  15. 云游戏拉开产业化大幕
  16. 识别文字的软件哪个好呢?不如试试这几款
  17. 通用人工智能:我们是否接近,尝试是否有意义?
  18. 计算机应用 期刊 怎么样,《计算机应用研究》怎么样?投稿好中吗?
  19. 环境变量setenv函数和export命令的解释
  20. mysql8.0约束性语语句(主码、外码、NOT NULL/NULL、DEFAULT、UNIQUE、CHECK)

热门文章

  1. python编码器用什么_用于ceasar-ciph的python构建编码器
  2. 百度竞价开户优化的细节到底是哪些
  3. 网络工程师还吃香吗?
  4. C# winform下的OxyPlot(安装2.0版本!!!!)
  5. sin函数对照表_三角函数数值对照表.pdf
  6. MySQL课程超级团,值得再提一次。
  7. 好用的parallel命令
  8. Windows 10简单搭建一个局域网Web下载分享界面
  9. 【转】谢帅同学做的——柔软的canvas时钟
  10. 人体反应测试仪 c语言,FD.12-FD-HRT-A