Gửi bài giải
Điểm:
0,15 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Tại buổi sinh hoạt ngoại khóa, các học sinh tham gia hoạt động này được chia thành ~N~ nhóm, nhóm thứ ~i~ có ~s_i (1 \leq s_i \leq 4)~ học sinh; nhà trường cần chuẩn bị những chiếc bàn cho hoạt động này, mỗi bàn có thể chứa tối đa ~4~ học sinh.
Yêu cầu: 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 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ể có nhiều hơn ~1~ nhóm).
Dữ liệu:
- Dòng thứ nhất gồm số nguyên ~N (1 \leq N \leq 10^5)~ là số nhóm học sinh.
- Dòng thứ hai gồm ~N~ số nguyên dương ~s_1, s_2, \ldots, s_N (1 \leq s_i \leq 4, 1 \leq i \leq N)~, ~s_i~ là số học sinh trong nhóm thứ ~i~.
Dữ liệu đảm bảo bài toán luôn có nghiệm.
Kết quả:
- Ghi ra một số nguyên dương duy nhất là số lượng bàn tối thiểu cần chuẩn bị.
Ví dụ:
Sample Input
5
1 2 4 3 3
Sample Output
4
Bình luận