Bài 2: Kết hoa (TS10 Ninh Bình thi thử - 2026)

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Nhân dịp Đại lễ 30/4/2026, một lớp 9 tổ chức trang trí hành lang bằng các bông hoa giấy mini. Lớp chuẩn bị được \(n\) cánh hoa, cánh thứ \(i\) có độ dài \(a_i\) (đơn vị: cm).

Một bông hoa giấy mini hợp lệ được tạo thành khi và chỉ khi:

  • Gồm đúng \(3\) cánh hoa;
  • Ba cánh có cùng độ dài;
  • Mỗi cánh hoa chỉ được sử dụng không quá một lần.

Các cánh không được cắt ngắn, ghép thêm hoặc thay đổi độ dài.

Yêu cầu: Cho độ dài của \(n\) cánh hoa, hãy xác định:

  • \(x\): số bông hoa giấy mini tối đa có thể kết được;
  • \(y\): tổng số cánh hoa chưa được sử dụng sau khi tạo số hoa tối đa.

Input

  • Dòng 1: Số nguyên dương \(n\) (\(1 \le n \le 10^6\)).
  • Dòng 2: \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 2000\)).

Output

  • Ghi ra hai số nguyên \(x\)\(y\) cách nhau một dấu cách.

Example

Test 1

Input
10
5 7 5 5 7 7 7 8 8 8
Output
3 1
Note
  • Độ dài 5 xuất hiện 3 lần \(\rightarrow\) kết được 1 bông.
  • Độ dài 7 xuất hiện 4 lần \(\rightarrow\) kết được 1 bông, dư 1 cánh.
  • Độ dài 8 xuất hiện 3 lần \(\rightarrow\) kết được 1 bông.

Tổng số bông hoa kết được là \(x = 3\). Tổng số cánh còn lại là \(y = 1\).

Scoring

  • Subtask 1 (\(30\%\) số điểm): \(1 \le n \le 10^3, 0 \le a_i \le 10^3\).
  • Subtask 2 (\(30\%\) số điểm): \(1 \le n \le 10^5, 0 \le a_i \le 10^3\).
  • Subtask 3 (\(40\%\) số điểm): \(1 \le n \le 10^6, 0 \le a_i \le 2000\).

Bình luận (1)

Mới nhất
Tải bình luận...