NONZERO

Cho một mảng \(a\) gồm \(n\) số nguyên \(a_{1},\ a_{2},\ \ldots,\ a_{n}\). Mỗi bước bạn có thể tăng một phần tử bất kì lên 1 đơn vị. Cụ thể, mỗi bước bạn có thể chọn chỉ số \(i\ (1\ \leq \ i\ \leq \ n)\) và thực hiện gán \(a_{i} = a_{i} + 1\).

Yêu cầu: Tìm số bước tối thiểu cần thực hiện để làm cho cả tổng và tích các phần tử trong mảng \(a\) là khác 0. Cụ thể, tìm số bước tối thiểu để \(a_{1} + a_{2} + \ldots + a_{n}
eq 0\)
\(a_{1} \times a_{2} \times \ldots \times a_{n}\
eq \ 0\)
.

Dữ liệu vào:

+ Dòng đầu tiên chứa một số nguyên \(t\ (1 \leq t \leq 10^{3})\) là số lượng test. Mỗi test được mô tả như sau:

- Dòng 1: Chứa một số nguyên \(n\ (1\ \leq \ n\ \leq \ 100)\) là kích thước phần tử trong mảng.

- Dòng 2: Chứa \(n\) số nguyên \(a_{1},\ a_{2},\ \ldots,\ a_{n}\) \(( - 100\ \leq \ a_{i} \leq \ 100)\ \)là các phần tử trong mảng.

Kết quả:

+ \(t\) dòng, dòng thứ \(i\) tương ứng với test thứ \(i\) trong file input in ra một số nguyên duy nhất là số bước tối thiểu cần thực hiện để cả tổng và tích các phần tử trong mảng là khác 0.

Ví dụ:

Input Output
3
3
2 -1 -1
4
-1 0 0 1
2
-1 2
1
2
0

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. qtaydzs1tg (20/31)
  2. khang_ (12/19)
  3. trandinhlong (12/23)
Trong 7 ngày
  1. trungo0 (77/135)
  2. haiyen2011 (72/156)
  3. khanhchi_29 (64/80)
Trong 30 ngày
  1. trungo0 (112/199)
  2. ngocbichh (110/267)
  3. nongvantien11 (99/157)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41001

Lưu Hải Phong - 2020
[email protected]