Em cần ý tưởng cho bài này, ai có cho em xin key để em tìm hiểu với ạ

Bài gì nhét hết hàm siêu việt lẫn hàm lượng giác vào thế này
Trên x \in [0, 1] thì e^{-x},\ \cos x giảm; \sin x,\ \tan x,\ x^2 tăng. Với p, r \le 0 \le q, s, t thì hàm f(x) = p e^{-x} + q \sin x + r \cos x + s \tan x + tx^2 + u trở thành hàm giảm.
Bài này áp dụng Bisection Method thôi.
Úi, em cảm ơn bác nhaaaaaaaaaaa :>> Để em đọc
Gợi ý xong bạn làm được đến đâu rồi?
Em có tìm hiểu và code thì hay bị time out :<
#include<bits/stdc++.h>
#define eps 0.00001
using namespace std;
int p, q, r, s, t, u;
double pt(double x)
{
double kq = p * exp(-x) + q * sin(x) + r * cos(x) + s * tan(x) + t * x * x + u;
return kq;
}
int main()
{
int dem = 0;
double x, x0, x1, fx;
x0 = 0.0000;
x1 = 1.0000;
x = x0;
while (cin >> p >> q >> r >> s >> t >> u) {
dem++;
if (dem > 2100) {
break;
}
if (p == 0 && q == 0 && r == 0 && s == 0 && t == 0 && u == 0) {
cout << "0.0000\n";
}
else if ((pt(x) > 0) && (x == 1) || (p == 0 && q == 0 && r == 0 && s == 0 && t == 0 && u != 0))
cout << "No solution\n";
else
{
do
{
x = (x0 + x1) / 2.0;
fx = pt(x);
if (fx > eps)
{
x0 = x;
}
else if (fx < -eps)
{
x1 = x;
}
} while (fx<-eps || fx>eps);
cout << fixed << setprecision(4) << x << endl;
}
}
return 0;
}
đây là code của em, mọi người cho em key để em tối ưu với :<
Bạn không cần phải dùng biến dem làm gì, đề cho giới hạn số test thì sẽ tự kiểm soát số lượng test đầu vào, bạn không phải kiểm tra.
Đề nói nghiệm chính xác đến 4 chữ số thập phân, không phải là f(x) xấp xỉ 0 đến 4 chữ số thập phân, do vậy điều kiện kiểm tra f(x) là so sánh với 0, không phải là 10^{-4}. Điều kiện dừng của vòng while trong trường hợp này là |x_0 - x_1| < 10^{-4}.