trang chủ / đề bài / dhbb14_rgame

Trò chơi xếp hình chữ nhật

Đề bài

Mô tả

Xét trò chơi xếp hình chữ nhật với các que diêm như sau: Có n que diêm, que thứ i có độ dài di. Người chơi cần chọn ra 4 que diêm để có thể xếp thành một hình chữ nhật, giả sử 4 que diêm mà người chơi chọn có độ dài lần lượt là a,b,c,d (a≤b≤c≤d), khi đó có thể xếp được thành một hình chữ nhật nếu a=b và c=d (diện tích hình chữ nhật là a·c). Người chơi xếp được hình chữ nhật có diện tích càng lớn sẽ càng được điểm cao.

Mỗi que diêm chỉ được chọn nhiều nhất một lần. Hình vuông (a=b=c=d) cũng là một hình chữ nhật.

Yêu cầu: Cho d1,d2,…,dn là độ dài của n que diêm. Hãy tìm cách chọn 4 que diêm để xếp được thành một hình chữ nhật có diện tích lớn nhất.

Dữ liệu vào

Dòng đầu tiên ghi số nguyên dương K là số lượng bộ dữ liệu. Tiếp đến là K nhóm dòng, mỗi nhóm tương ứng với một bộ dữ liệu có cấu trúc như sau:

  • Dòng thứ nhất ghi một số nguyên dương n;
  • Dòng tiếp theo chứa n số nguyên dương d1,d2,…,dn (di≤109).

Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra

Gồm K dòng, mỗi dòng ghi một số nguyên là diện tích của hình chữ nhật xếp được tương ứng với bộ dữ liệu (ghi −1 nếu không tồn tại cách chọn nào xếp được hình chữ nhật).

Ràng buộc

  • 1≤K≤10.
  • 1≤n≤300000 trong mỗi bộ dữ liệu.
  • 1≤di≤109.

Subtasks

  • Subtask 1 (20 điểm): n≤30.
  • Subtask 2 (20 điểm): n≤3000.
  • Subtask 3 (20 điểm): n≤300000.

Ví dụ

Input Output Giải thích
2
5
5 3 1 5 1
4
1 2 3 4
5
-1
Bộ thứ nhất chọn các que 1,1,5,5, diện tích 1·5=5. Bộ thứ hai không có hai que nào cùng độ dài.
2
6
7 2 7 7 3 7
5
6 2 6 6 2
49
12
Ví dụ bổ sung. Bộ thứ nhất chọn bốn que độ dài 7 xếp thành hình vuông. Bộ thứ hai chỉ có ba que độ dài 6 nên không xếp được hình vuông cạnh 6; chọn 2,2,6,6, diện tích 12.
3
4
1000000000 1000000000 1000000000 1000000000
3
1 1 2
1
8
1000000000000000000
-1
-1
Ví dụ bổ sung. Diện tích có thể vượt quá 232; bộ thứ hai và thứ ba có ít hơn 4 que.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0