CF1746B Rebellion

Description

You have an array $ a $ of size $ n $ consisting only of zeroes and ones. You can do the following operation: - choose two indices $ 1 \le i , j \le n $ , $ i \ne j $ , - add $ a_{i} $ to $ a_{j} $ , - remove $ a_{i} $ from $ a $ . Note that elements of $ a $ can become bigger than $ 1 $ after performing some operations. Also note that $ n $ becomes $ 1 $ less after the operation. What is the minimum number of operations needed to make $ a $ non-decreasing, i. e. that each element is not less than the previous element?

Input Format

Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 10^4 $ ). The description of the test cases follows. The first line of each test case contains an integer $ n $ ( $ 1 \le n \le 10^5 $ ), the size of array $ a $ . Next line contains $ n $ integers $ a_{1}, a_{2}, \ldots a_{n} $ ( $ a_i $ is $ 0 $ or $ 1 $ ), elements of array $ a $ . It's guaranteed that sum of $ n $ over all test cases doesn't exceed $ 2 \cdot 10^5 $ .

Output Format

For each test case print a single integer, minimum number of operations needed to make $ a $ non-decreasing.

Explanation/Hint

In the first test case, $ a $ is already non-decreasing, so you don't need to do any operations and the answer is $ 0 $ . In the second test case, you can perform an operation for $ i = 1 $ and $ j = 5 $ , so $ a $ will be equal to $ [0, 0, 1, 2] $ and it becomes non-decreasing. In the third test case, you can perform an operation for $ i = 2 $ and $ j = 1 $ , so $ a $ will be equal to $ [1] $ and it becomes non-decreasing.