def test_sample_test_cases(): assert solve(5, [2, 1, -3]) == 3 assert solve(4, [-1, 1]) == 4 assert solve(10, [2, 4, 1, 2]) == 2
def test_others(): assert solve(5, [-1, -1, -1]) == 3 # 3, 4 or 5 assert solve(5, [-1, 3, -1]) == 3 # 1, 2 or 3 assert solve(5, [-1, 1, -1, 1, -1]) == 5 # 1, 2, 3, 4 or 5
def test_invalid_records(): assert solve(1, [-5]) == 0 assert solve(1, [5]) == 0
def test_no_changes(): assert solve(2, [0, 0, 0, 0]) == 3
def test_initially_full(): assert solve(1, [-1]) == 1 assert solve(5, [-5, 5, -5]) == 1
def test_initially_empty(): assert solve(1, [1]) == 1 assert solve(2, [2]) == 1 assert solve(5, [5, -5, 5]) == 1