Beginner Free Contest 48 - ISTRI

View as PDF

Submit solution

Points: 0.20 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

In case the statement didn't load correctly, you can download the statement here: Statement

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.


Comments

Please read the guidelines before commenting.



  • 0
    minhkochamhoc  commented on Feb. 4, 2026, 2:59 p.m.

    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 🍀

  • 1
    toquyen260288  commented on Jan. 27, 2026, 8:16 a.m. edited

    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  commented on Dec. 29, 2025, 1:25 p.m.

    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  commented on July 8, 2024, 9:50 a.m.

    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"