关于#c++#的问题:小H有一杯n升的果汁,但是小H想喝一杯至少50%糖的果汁(几升都可以)

小H有一杯n升的果汁,里面有t%的糖,但是小H想喝一杯至少50%糖的果汁(几升都可以),设加糖x毫升,喝y毫升,问x+y最少是几。注:百分比=糖/(糖+果汁)
输入格式
一行,n (0<n<10^9),t (0<t<50)
输出格式
一行, min{x+y}毫升(保留整数)
输入输出样例
输入
1 20
输出
600
说明/提示
1升果汁中有20%的糖,最优解是喝100毫升果汁,并加入500毫升糖,则:
百分比=糖/糖+果汁=(200+500)/(500+1000−100)=700/1400=50%
x+y=600,可以证明这个结果是最优解之一


#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    // 定义变量,存储输入数据
    double n, t;

    // 从用户输入读取果汁容量和糖分百分比
    cout << "请输入果汁容量和糖分百分比(中间以空格分隔):" << endl;
    cin >> n >> t;

    // 计算当前果汁中的糖含量和当前糖分百分比
    double sugar = n * t / 100;
    double curr_t = sugar / (sugar + n);

    // 如果当前糖分不足50%,则需要添加糖
    if (curr_t < 0.5) {
        // 计算需要添加的糖量
        double target_t = 0.5;
        double target_sugar = target_t * (sugar + n) - n;
        double add_sugar = target_sugar - sugar;

        // 计算添加糖后的糖含量和糖分百分比
        double new_sugar = sugar + add_sugar;
        double new_t = new_sugar / (new_sugar + n);

        // 计算喝下去的果汁和添加的糖的总量
        double total = n + add_sugar;
        cout << "x+y最小值为:" << round(total) << "毫升" << endl;
    } else {
        // 如果当前糖分已经达到或超过50%,则不需要添加糖
        cout << "x+y最小值为:" << round(n) << "毫升" << endl;
    }

    return 0;
}

似乎不太对啊,码上团建