PASCAL các ban ơi! Tìm tích lớn nhất của k số nguyên trong n số cả âm lẫn dương

Cho n số nguyên và k. hãy tìm tích lớn nhất của k số trong dãy trên và in ra .
Inp:
-Dòng đầu n<=10[SUP]5[/SUP] và k <=n
-Chứa n số a[SUB]i[/SUB]<=10[SUP]9[/SUP]);
Out: In ra k số tìm đươc theo yêu cầu,
VD:
TLN.inp
5 3
1 5 -8 -5 -9
TLN.out
-8 -9 5
 
Sửa lần cuối bởi điều hành viên:

tengiday

Happy life
Reply: PASCAL các ban ơi !!!!!!!!!!

Mình nói nhanh cho bạn thế này vì mình gần đây busy quá. Mình nghĩ đầu tiên bạn nên chia ra 2 dãy số âm và dương. Sau đó tùy theo số lượng số âm và dương mà có nhiều trường hợp. Ví dụ như khi cả 2 dãy đều có "đủ" số, thì:
- Nếu k chẵn thì tích là số dương.
- Nếu k lẻ thì tích là số dương nếu có ít nhất 1 số dương.
Nếu đã biết tích là dương thì chọn từng cặp dương, hoặc cặp âm. Nếu tích là âm thì chọn số có giá trị tuyệt đối nhỏ nhất.
Đương nhiên còn nhiều trường hợp khác, chi tiết bên trong thì bạn phải tự tìm lấy.
 
Sửa lần cuối:
Top