[DHBB24 - CBL - 11] Bài 1: Đa giác

Xem dạng PDF

Gửi bài giải

Điểm: 35,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Sơn muốn sử dụng các tấm gỗ có sẵn để ghép thành hàng rào xung quanh vườn. Hàng rào có dạng hình đa giác lồi (diện tích khác 0) được ghép từ các cạnh là các tấm gỗ đặt nằm ngang. Sơn không muốn cưa hay phá hỏng các tấm gỗ để làm hàng rào. Rõ ràng không phải từ các tấm gỗ bất kì nào cũng có thể ghép thành hàng rào đa giác lồi. Ví dụ từ 3 tấm gỗ có độ dài 10, 11, 12 có thể ghép thành hàng rào tam giác, tuy nhiên từ 4 tấm gỗ có độ dài 100, 1, 2, 3 thì không thể ghép thành hàng rào tứ giác vì tấm gỗ dài 100 lớn hơn tổng độ dài của 3 tấm gỗ còn lại.

Sơn có ~n~ tấm gỗ. Sơn tự hỏi có bao nhiêu cách chọn ra các tấm gỗ từ các tấm đã có để từ chúng có thể ghép thành hàng rào đa giác lồi. Hai cách chọn được gọi là khác nhau nếu như có một tấm gỗ thuộc cách chọn này nhưng không thuộc cách chọn kia.

Yêu cầu: Hãy tính số lượng cách chọn các tấm gỗ để ghép thành đa giác lồi, đưa ra kết quả là số dư của phép chia cho ~10^9 + 7~.

Input

  • Dòng đầu tiên chứa số nguyên ~n~ (~1 \le n \le 5000~) là số lượng tấm gỗ.
  • Dòng thứ hai chứa ~n~ số nguyên ~l_i~ (~1 \le l_i \le 5000~) là độ dài các tấm gỗ.

Output

  • Ghi ra một dòng duy nhất là kết quả của bài toán.

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.