Với một dãy số nguyên cho trước, hãy viết hàm int maximumProduct (char * path)
tìm bộ ba số có tích lớn nhất trong tất cả các bộ số và trả về tích lớn nhất đó.
Hàm nhận đầu vào là đường dẫn đến tệp lưu mảng số nguyên cho trước. Hàm trả về tích lớn nhất có thể có.
Dòng đầu tiên của tệp chứa kích cỡ n, dòng kế tiếp chứa n số nguyên cách nhau bởi một khoảng trắng.
int maximumProduct (char * path) {
ifstream file(path);
int n;
file >> n;
int a[n];
for (int i=0; i<n; i++) {
file >> a[i];
}
for (int i=0; i<n-1; i++) {
for (int j=i+1; j<n; j++) {
if(a[i]<a[j]) {
int temp= a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
if (a[0]*a[1]>=a[n-1]*a[n-2]) return a[0]*a[1]*a[2];
else return a[0]*a[n-1]*a[n-2];
}
thuật toán của em như thế này nhưng trong một vài trường hợp vẫn sai và em không biết đó là trường hợp nào vì ko thể xem được mảng số nguyên mà đề bài cho sẵn. Các anh chị có thể xem giúp em xem lỗi ở đâu không ạ. Em cảm ơn ạ