Rust Triangle
fn triangle(mut a: Vec<i64>) -> i64 {
    a.sort();
    let c = a.len();
    if c < 3 {
        return 0;
    }

    for i in 0..c - 2 {
        if a[i] > 0 && a[i] > a[i + 2] - a[i + 1] {
            return 1;
        }
    }

    0
}

This sorts the values and checks nearby triples, because a valid triangle only needs one local match after sorting.