trang chủ / đề bài / dhbb23_cvp_11_b

Đa giác lớn nhất

Đề bài

Mô tả

Cho N đoạn thẳng có độ dài nguyên. Biết rằng có thể ghép các đoạn thẳng này thành một đa giác lồi trên mặt phẳng tọa độ Descartes sao cho các đỉnh của đa giác đều có tọa độ nguyên và diện tích của đa giác cũng là một số nguyên.

Khi ghép, mỗi đoạn thẳng được dùng đúng một lần và đặt nối tiếp nhau dọc theo biên của đa giác; mọi đầu mút của các đoạn thẳng đều phải có tọa độ nguyên. Một cạnh của đa giác có thể gồm nhiều đoạn thẳng nằm liên tiếp trên cùng một đường thẳng (ví dụ ba đoạn độ dài 5,2,1 có thể tạo thành một cạnh dài 8). Đa giác phải có diện tích dương.

Yêu cầu: Hãy xác định diện tích lớn nhất của một đa giác có thể tạo được từ các đoạn thẳng đã cho.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên N (3≤N≤6).
  • Dòng thứ hai chứa N số nguyên là độ dài của các đoạn thẳng, mỗi độ dài thuộc đoạn [1,300].

Dữ liệu đảm bảo tạo được ít nhất một đa giác thỏa mãn.

Dữ liệu ra

In ra một số nguyên duy nhất là diện tích lớn nhất của đa giác có thể tạo được.

Ràng buộc

  • 3≤N≤6.
  • Độ dài mỗi đoạn thẳng là số nguyên thuộc đoạn [1,300].

Ví dụ

Input Output Giải thích
5
1 2 5 5 5
19 Tạo được ba đa giác: ngũ giác (0,0),(5,0),(5,2),(1,5),(0,5) có diện tích 19; hình thang (0,0),(7,0),(4,4),(3,4) có diện tích 16 (cạnh đáy gồm hai đoạn 5 và 2); tam giác (0,0),(8,0),(4,3) có diện tích 12 (cạnh đáy gồm ba đoạn 5,2,1). Diện tích lớn nhất là 19.
4
6 8 5 5
24 Tam giác vuông (0,0),(6,0),(6,8): cạnh huyền dài 10 gồm hai đoạn 5 nối qua điểm (3,4).
4
1 1 1 1
1 Hình vuông cạnh 1.

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