MKRECT - Tìm cách xếp hình lớn nhất

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Có ~N~ que diêm, que diêm thứ ~i~ có độ dài ~A_i~. Bạn cần chọn ra ~4~ que diêm khác nhau để tạo thành một hình chữ nhật, với các que diêm tạo

thành các cạnh. Tìm hình chữ nhật có diện tích lớn nhất mà có thể tạo được (có thể xem độ dày của các que diêm là không đáng kể).

Input

  • Dòng đầu tiên gồm số nguyên ~N~ ~(4 ≤ N ≤ 200000)~ - số que diêm;
  • Dòng thứ hai gồm ~N~ số nguyên ~A_1, A_2, ..., A_N~ ~(1 ≤ A_i ≤ 10^9)~ - độ dài của các que diêm.

Giới hạn:

  • Subtask #1 ~(30\%\text{ số điểm}): N ≤ 50~;
  • Subtask #2 ~(30\%\text{ số điểm}): N ≤ 2000~;
  • Subtask #3 ~(40\%\text{ số điểm}):~ Không có ràng buộc gì thêm.

Output

  • In ra diện tích lớn nhất trong số các hình chữ nhật có thể tạo được. Nếu không thể tạo ra hình chữ nhật nào thì in ra ~0~.

Sample

Input #1
7
9 5 5 2 3 1 3
Output #1
15
Input #2
5
4 4 4 4 1
Output #2
16
Input #3
4
9 8 7 6
Output #3
0

Hint

  • Trong ví dụ thứ nhất, ta chọn các que diêm thứ ~2, 3, 5, 7~. Khi đó ta tạo được hình chữ nhật có chiều dài ~5~, chiều rộng ~3~ và diện tích ~15~.
  • Trong ví dụ thứ hai, ta chọn các que diêm thứ ~1, 2, 3, 4~. Khi đó ta tạo được hình vuông có cạnh là ~4~ và diện tích ~16~. (Lưu ý rằng hình vuông là hình chữ nhật đặc biệt).

Problem source: Kc97ble - Free Contest


Bình luận

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


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