题解 CF1195B 【Sport Mafia】

· · 题解

1.定义

形如ax^2+bx+c=0(a,b,c是常数,且a\not=0)的方程称为一元二次方程

2.根的判别式

定义:当a\not=0时,判别式\Delta=b^2-4ac

\Delta<0时,原方程无实数解

\Delta=0时,原方程有两个相等的实数解(不能说只有一个实数解)

\Delta>0时,原方程有两个不相等的实数解

本题中题目保证有解,因此\Delta\geq0

3.求根公式

x_{1,2}$ $=$ $-\frac{b\pm\sqrt{b^2-4ac}}{2a} (a\not=0$ 且 $\Delta\geq0)

根据题目,可以发现珂朵莉(或者说是英文题意中的Alya)放入的蛋糕是一个等差数列。

因此我们设放蛋糕a次,则她一共吃了(n-a)次。

所以放入了\frac{a^2+a}{2}块蛋糕。

列出关于a的一元二次方程\frac{a^2+a}{2}-(n-a)=k

整理得\frac{a^2+3a}{2}-(n+k)=0

代入求根公式,并舍去负根, 化简得x=\frac{-3+\sqrt{9+8n+8k}}{2}

因而写出代码:

注意:请到最后输出时再取整

#include <cstdio>
#include <cmath>

int main(){
    double n, k;
    scanf("%lf%lf", &n, &k);
    double delta = 9 + 8 * n + 8 * k;
    double x = (sqrt(delta) - 3) / 2;
    double result = n - x;
    printf("%d\n", (int)result);
    return 0;
}