CF1195B

题意:

有一个盒子,每次可以做两个操作:

1.每次吃掉一块蛋糕

2.每次放入比上一次放入数多1的蛋糕

当盒子为空时,只能执行第 $ 2 $ 个操作。第 $ 1 $ 次操作永远是放入一个蛋糕。 现在给出操作数 $ n $ 和操作后蛋糕数量 $ k $ ,求出吃了多少块蛋糕。

解法:

解方程 $ \frac{x(x+1)}{2} - (n - x) = k $

化简得 $ x = \frac{\sqrt{9+8(n+k)}-3}{2} $

CODE:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath> using namespace std; #define LL long long
#define N 100100 LL n,k,ans; int main() {
scanf("%lld%lld",&n,&k);
int i = 1;
for(LL i = 1 ; ; i++) {
if (i * (i + 1) / 2 - (n - i) == k) {
printf("%lld\n", n - i);
//system("pause");
return 0;
}
}
return 0;
}

CF1195B的更多相关文章

随机推荐

  1. RANSAC拟合算法

    最小二乘法只适合与误差较小的情况.试想一下这种情况,假使需要从一个噪音较大的数据集中提取模型(比方说只有20%的数据时符合模型的)时,最小二乘法就显得力不从心了. 算法简介 随机抽样一致算法(RANd ...

  2. ntp时间同步简介

    网络时间协议(Network Time Protocol) 安装 # sudo apt-get install ntp 官网下载:http://www.ntp.org/downloads.html 本 ...

  3. Ubuntu安装rpm

    # sudo apt-get install alien # sudo alien xxx.rpm # sudo dpkg -i xxx.deb

  4. 内涵段子——脑筋急转弯——spider

    # python 3.7 from urllib.request import Request,urlopen import re,time class Neihan(object): def __i ...

  5. 快速认识Python

    1.数字和表达式 什么是表达式,1+2*3 就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数.1+2*3 经过计算后得到的结果是7,就1+2*3 = 7.我们可以将计算结果保存在一个变 ...

  6. KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码

    KubeEdge开源背景 KubeEdge在18年11月24日的上海KubeCon上宣布开源,技术圈曾掀起一阵讨论边缘计算的风潮,从此翻开了边缘计算和云计算联动的新篇章. KubeEdge即Kube+ ...

  7. 使用C#的Flags特性

    举个例子:我有如下的一个需求,当我想要取得用户信息的时候,会先从本地缓存中查找,找不到然后从分布式缓存中查找,最后找不到再从数据库中查询.但是有些场景我又不需要查询数据库. 所以我想建立如下这种模型. ...

  8. 分析可变形字符串序列StringBuilder 以及 StringBuffer之默认大小与扩容

    默认值初始化: 1.  首先明确 StringBuffer类与 StringBuilder类均继承了抽象类 AbstractStringBuilder类 无参构造方法 2. 源码中StringBuff ...

  9. Ubuntu系统---开机总会显示错误报告处理

    Ubuntu系统---开机总会显示错误报告处理 使用ubuntu16.04,开机总会显示错误报告,略烦人,查找方法关闭.一.临时关闭sudo service apport stop(重启后失效) 二. ...

  10. B进制星球(多进制 高精加)

    https://www.luogu.org/problemnew/show/P1604 B(2<=B<=36)进制计数.编写实现B进制加法的程序. 输入输出格式 输入格式: 共3行第1行: ...