Xóa dữ liệu nhiễu

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Trong giờ giải lao của môn Xử lý dữ liệu nhiễu, thầy Huna phát cho Luna một dãy số nguyên có độ dài ~n \ge 2~. Thầy yêu cầu bạn tính tích các số của dãy. Là một sinh viên giỏi của lớp, Luna có thể thực hiện dễ dàng bằng một dòng lệnh trong Python. Tuy nhiên, thầy Huna muốn bạn áp dụng kiến thức trong bài giảng về xử lý nhiễu, yêu cầu Luna phải tìm và xóa đi đúng một số nào đó để tích của các số còn lại là lớn nhất có thể. Bạn hãy cùng Luna giải bài toán này nhé, cho biết cần xóa số nào. Trong trường hợp có số nhiều cách xóa nhưng ra cùng một kết quả thì xóa đi số lớn nhất trong các cách (tham khảo thêm Ví dụ).

Input:

Dòng đầu tiên gồm số nguyên dương ~n~ với ~2 \le n \le 10^5.~ Dòng tiếp theo gồm ~n~ số, có thể có âm lẫn dương và số ~0~, các số không nhất thiết phân biệt và có giá trị tuyệt đối không vượt quá ~10^5.~

Output:

Giá trị của số cần xóa đi.

Sample input 1:

4

0 1 2 3

Sample output 1:

0

Sample input 2:

4

0 0 -1 2

Sample output 2:

2

Giải thích: trong VD1, ta thấy nếu xóa số ~0~ thì tích thu được sẽ dương nên số cần xóa là ~0~, không có lựa chọn nào khác. Còn ở VD2, ta thấy có hai số ~0~ nên việc xóa đi một số cũng không giải quyết được gì, tích các số còn lại luôn bằng ~0~. Vì thế ta có thể xóa bất kỳ số nào, và theo yêu cầu đề nên ta xóa ~2.~


Comments

Please read the guidelines before commenting.


There are no comments at the moment.