[HSG-QH_TXDB_QNA_24] Chia nhóm

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Trong hội thi STEM cấp tỉnh, Ban tổ chức dự định phân chia các học sinh tham gia hội thi này thành ~N~ nhóm. Nhóm thứ ~i~ có ~A_i~ học sinh ~(1 \le A_i \le 3)~. Để hội thi diễn ra theo đúng kế hoạch, Ban tổ chức cần chuẩn bị những chiếc bàn cho hội thi này, mỗi bàn có thể chứa tối đa ~3~ học sinh.

Cho số nguyên dương ~N~ ~(1 \le N \le 10^3)~ là số nhóm học sinh và các số nguyên dương ~A_1, A_2, ..., A_N~ ~(1 \le A_i \le 3,\ 1 \le i \le N)~ với ~A_i~ là số học sinh trong nhóm thứ ~i~.

Yêu cầu

Em hãy lập trình giúp Ban tổ chức chuẩn bị ít nhất bao nhiêu chiếc bàn để có thể xếp cho đủ các nhóm học sinh ngồi với điều kiện học sinh trong cùng nhóm phải ngồi cùng bàn. Một bàn có thể bố trí cho một hoặc nhiều nhóm cùng ngồi.

Dữ liệu đầu vào

Gồm hai dòng:

  • Dòng đầu tiên chứa số nguyên dương ~N~ ~(1 \le N \le 10^3)~ là số nhóm học sinh;
  • Dòng thứ hai chứa ~N~ số nguyên dương ~A_1, A_2, ..., A_N~ ~(1 \le A_i \le 3,\ 1 \le i \le N)~ với ~A_i~ là số học sinh trong nhóm thứ ~i~

Dữ liệu đầu ra

Gồm một số nguyên duy nhất là kết quả của bài toán.

Ví dụ

Ví dụ 1
INPUT
5
1 2 2 3 3
OUTPUT
4

Bình luận

Hãy đọc nội quy trước khi bình luận.