LRC_1B - Chọn cặp

Xem dạng PDF

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
Input: stdin
Output: stdout

Tác giả:
Dạng bài

Cho một mảng ~a~ gồm ~N~ số nguyên. Với mỗi thao tác, thì bạn sẽ chọn ra hai vị trí ~i~, ~j~ (~i~, ~j~ ~\le~ ~N~) khác nhau sao cho ~a_i + a_j~ ~\ge~ 0 và xóa nó đi khỏi mảng, khi xóa thì thứ tự các vị trí còn lại vẫn giữ nguyên.

Hãy tìm cách thực hiện thao tác sao cho số lượng phần tử trong mảng ~a~ là ít nhất.

Dữ liệu

Dòng đầu tiên chứa số ~N~ ~(3 \le N \le 10^5)~ Dòng tiếp theo chứa ~N~ số nguyên ~a_1~, ~a_2~, ~a_3~ ,....., ~a_n~ ~(|a_i| \le 10^9)~.

Kết quả

In ra số thao tác đã thực hiện.

Test ví dụ

Dữ liệu

5
-1 2 5 -1 3

Kết quả

2

Giải thích

Thao tác 1 : Lấy hai số có vị trí là 1 và 5 ra khỏi mảng.

Sau khi thực hiện thì mảng còn lại ~(2, 5, -1)~.

Thao tác 2 : Lấy hai số có vị trí là 2 và 3 ra khỏi mảng.

Sau khi thực hiện thì mảng còn lại duy nhất ~2~.


Loading...