TS10 Cần Thơ 2026 - Tam giác
Xem dạng PDF
Gửi bài giải
Điểm:
17,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Cho ~n~ đoạn thẳng lần lượt có độ dài là ~a_1, a_2, \dots, a_n~. 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ị ~a_i, a_j, a_k~ với ~1 \le i < j < k \le n~ sao cho ~a_i + a_j > a_k~, ~a_j + a_k > a_i~ và ~a_k + a_i > a_j~.
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.
Input
Dòng đầu chứa một số nguyên ~n~.
Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~, mỗi số có giá trị không vượt quá ~10^9~.
Output
Ghi ra một số nguyên là kết quả tìm được.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~70\%~ | ~3 \le n \le 100~ |
| 2 | ~30\%~ | ~3 \le n \le 2000~ |
Sample Input 1
5
6 3 4 2 5
Sample Output 1
7
Notes
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)~.
Bình luận
pls code🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
include <bits/stdc++.h>
using namespace std;
int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); long long n; cin>>n; vector <long long> a(n); for (long long &x:a) cin>>x; long long ans=0; for (long long i=0; i<n; i++){ for (long long j=i+1; j<n; j++){ for (long long k=j+1; k<n; k++){ if(a[i]+a[j]>a[k] && a[j]+a[k]>a[i] && a[k]+a[i]>a[j]) ans++; } } } cout<<ans; return 0; }
sub2 kiểu gì mà 3 for cũng được v ad
ad ơi, bài này e trâu nhưng lại đc 100% ạ, nhờ ad kiểm tra test với ạ
đề này chắc test input còn nhỏ nên chưa TLE
chac ko sao dau
chắc v á