trang chủ / đề bài / ct_ts10_26_c

Tam giác

Đề bài

Mô tả

Cho n đoạn thẳng lần lượt có độ dài là a1,a2,…,an. Một cách chọn ba đoạn trong n đoạn này để tạo thành một tam giác là chọn ba giá trị ai,aj,ak với 1≤i<j<k≤n sao cho ai+aj>ak, aj+ak>ai và ak+ai>aj.

Yêu cầu: Hãy lập trình xác định số cách chọn ba đoạn trong n đoạn này để tạo thành một tam giác.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n.
  • Dòng thứ hai chứa n số nguyên dương a1,a2,…,an, mỗi số có giá trị không vượt quá 109.

Dữ liệu ra

Ghi ra một số nguyên là kết quả tìm được.

Ràng buộc

  • 3≤n≤2000.
  • 1≤ai≤109.

Subtasks

  • Subtask 1 (70% số điểm): 3≤n≤100.
  • Subtask 2 (30% số điểm): 3≤n≤2000.

Ví dụ

Input Output Giải thích
5
6 3 4 2 5
7 Các bộ ba được chọn: (6,3,4), (6,3,5), (6,4,5), (6,2,5), (3,4,2), (3,4,5), (4,2,5).
4
1 2 3 3
2 (Ví dụ bổ sung.) Hai bộ (1,3,3) và (2,3,3); bộ (1,2,3) không tạo thành tam giác vì 1+2=3. Hai đoạn dài 3 là hai đoạn khác nhau.

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