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...