Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Cho mảng số nguyên ~A~ có ~n~ phần tử được nhập từ bàn phím. Hãy viết chương trình tìm 3 phần tử ở các vị trí khác nhau trong mảng sao cho tích của 3 phần tử đó là lớn nhất. Sau đó, hãy in giá trị tích lớn nhất mà bạn tìm được lên màn hình
Input
- Dòng 1 là số lượng phần tử của mảng ~n~
- Dòng tiếp theo là ~n~ số nguyên tương ứng là các phần tử của mảng
Biết rằng
- ~n \in N^*~ và ~3 \le n \le 10^4~
- ~|A_{ij}| \le 1000~
Output
Tích lớn nhất mà bạn tìm được
Sample
Input #1
5
1 2 3 4 5
Output #1
60
Bình luận
Ae chia làm 2 trường hợp là ok nhé: 3 số dương và 2 số âm và 1 số dương; tìm các số lớn nhất bé nhất là đươc.
xin upvote
dung 40 case luon :)), bai nay nhieu case the :))
hello ae
ý tưởng bài này là gì vậy ạ
sắp xếp tăng dần , so sánh tích 3 số cuối và tích 2 số đầu với số cuối , cái nào lớn hơn thì return cái đó thôi
sao phải so sánh tích đầu vậy bạn
số âm
minh xep theo giam dan a.sort(reverse=True) xong so sanh 2 cai max(a)a[1]a[2], min(a)max(a)a[len(a)-2] do neu co 2 so am nhan lai thi no ra duong ma ta lay cai duong do nhan cho max nua thif no la lon nhat
mn cho e xin ý tưởng bài này được không ạ :(
sắp xếp lại mảng từ bé đến lớn rồi so sánh tích của 3 phần tử cuối với tích của 2 phần tử đầu tiên với phần tử cuối, cái nào lớn hơn thì in ra
cách này hay, đơn giản nhất
cho mình hỏi so sánh 2 phần tử đầu lmj v ạ
Mảng có phần tử âm là toang đấy.
ghê thế thanks