Beginner Free Contest 48 - ISTRI

Xem dạng PDF

Gửi bài giải

Điểm: 0,20 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M

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

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

Lưu ý: các bạn không nhập, xuất dữ liệu bằng file kể cả khi đề bài có yêu cầu. Đọc, ghi dữ liệu được thực hiện ở stdin và stdout.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    minhkochamhoc  đã bình luận lúc 4, Tháng 2, 2026, 14:59

    solve

    • theo bất đẳng thức tam giác thì 1 tam giác phải thỏa mãn điều kiện tổng độ dài 2 cạnh bất kì lớn hơn cạnh còn lại
    • hay ta có thể biểu diễn như sau : xét tam giác có 3 cạnh độ dài là a , b , c thì :
    • a + b > c
    • a + c > b
    • b + c > a
    • do đó để kiểm tra xem trong số những que gỗ đề cho có bộ 3 que nào ko thể tạo thành tam giác thì ta sẽ cần tìm bộ số vi phạm bất đẳng thức tam giác trên , hay nói cách khác ta sẽ tìm bộ số { x , y , z } mà x + y <= z
    • từ đó ta thấy rằng nếu chọn x , y là 2 số nhỏ nhất của mảng và z là số lớn nhất thì ta sẽ dễ dàng có thể kiểm tra xem tồn tại bộ số thỏa mãn ko do khi giải những bài toán về lập trình thi đấu ta sẽ làm việc với những bộ số ko biết trước vì vậy ta dựa vào những tính chất toán học để thấy được khi chọn x + y là 2 số nhỏ nhất ta sẽ thu được tổng nhỏ nhất có thể có được và nếu so sánh nó với số lớn nhất là z mà cx ko thỏa mãn x + y <= z thì chứng tỏ ko có bộ số nào thỏa mãn vì ngoài bộ này nếu chọn x , y là cặp khác thì tổng đó sẽ càng lớn hơn nên sẽ càng ko thỏa mãn , ngược lại nếu chọn z nhỏ hơn thì cũng giảm giới hạn nên lại cx ko thỏa mãn
    • sau khi đã xác định được mình cần làm gì ta sẽ có thể dễ dàng nghĩ tới việc sắp xếp lại mảng là phương án dễ nhất để lấy được 2 số nhỏ nhất chọn làm x , y và số lớn nhất làm z 🍀

  • 0
    toquyen260288  đã bình luận lúc 27, Tháng 1, 2026, 8:16 chỉnh sửa

    bài này cứ sort lại rồi kiểm tra 2 số đầu với số cuối là ngon

    đầu tư vào hdvi là ngon luôn

    ae nào xài vòng lặp là gay (trừ inp), tôi chỉ cần O(1), ae nào ko tin thì cứ test thử ý tưởng dưới

    code vector: sort(a.begin(), a.end()); if(a[0] + a[1] <= a[n-1]) cout << "CO"; else cout << "KHONG";

    ai cs long tu bi cho xin upvote


  • 0
    vominhmanh10  đã bình luận lúc 29, Tháng 12, 2025, 13:25

    bất đẳng thức tam giác, sẽ tồn tại nếu tổng hai số nhỏ nhất bé hơn số lớn nhất thì không thể tạo tam giác

    n = int(input())
    a = sorted(list(map(int, input().split())))
    if (a[0] + a[1] > a[-1]): print("KHONG")
    else:print("CO")
    

  • 2
    Groot  đã bình luận lúc 8, Tháng 7, 2024, 9:50

    GỢI Ý

    Sắp xếp lại dãy, xét X = a[i] + a[i+1], nếu tồn tại số a[j] <= X thì cout << "CO"