Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
0.03s
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 dãy ~ n ~ số nguyên ~ a_i ~ . Bạn được phép xóa đi một phần tử có giá trị nhỏ nhất hoặc xóa đi một phần tử có giá trị lớn nhất trong dãy.
Yêu cầu: Tìm cách dùng ít nhất các phép xóa theo luật trên để thu được một dãy mới có tổng các phần tử trong dãy bằng 0. (Dãy rỗng cũng được coi là dãy có tổng các phần tử bằng 0).
Input
Dòng đầu chứa số nguyên dương n (~ n \le 10^5 ~);Dòng thứ hai chứa ~ n ~ số nguyên ~ a_i ~ cách nhau bởi dấu cách (~ |a_i|\le 10^9 ~).
Output
Ghi ra một số nguyên duy nhất là số phép xóa cần thực hiện.
Sample
Input #1
8
-3 -3 -3 0 0 0 4 4
Output #1
5
Input #2
6
-4 -5 1 2 -3 10
Output #2
3
Hint
- Giải thích Sample 1 : xoá 3 số : -5 , -4 và 10
Problem source: Ôn HN tháng 11/2017, Thầy Lê Minh Hoàng, Ngày 1
Bình luận