trang chủ / bài tập / canvframe

Khung tranh

Đề bài

Mô tả

Một người thợ có n thanh gỗ với độ dài lần lượt là a1,a2,,an. Anh ta muốn dùng các thanh gỗ này để đóng khung tranh.

Để đóng một khung tranh kích thước h×w, cần đúng hai thanh gỗ độ dài h và hai thanh gỗ độ dài w. Riêng với khung vuông (khi h=w), cần bốn thanh gỗ có cùng độ dài.

Các thanh gỗ không được cắt ngắn hay nối lại với nhau, và mỗi thanh chỉ được dùng cho nhiều nhất một khung. Không bắt buộc phải dùng hết tất cả các thanh gỗ.

Hãy tính số khung tranh nhiều nhất có thể đóng được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số thanh gỗ.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an là độ dài các thanh gỗ.

Dữ liệu ra

Một số nguyên duy nhất là số khung tranh nhiều nhất có thể đóng được.

Ràng buộc

  • 1n100
  • 1ai100

Ví dụ

Input Output Giải thích
5
2 4 3 2 3
1 Dùng hai thanh độ dài 2 và hai thanh độ dài 3 để đóng một khung 2×3. Thanh độ dài 4 bị thừa.
13
2 2 4 4 4 4 6 6 6 7 7 9 9
3 Có thể đóng một khung vuông 4×4 (bốn thanh độ dài 4), một khung 2×6 và một khung 7×9.
4
3 3 3 5
0 Chỉ ghép được một cặp thanh độ dài 3, không đủ hai cặp cho một khung nào.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0