先从数组里面通过循环取三个数(注意组合数的选取避免重复)再通过判断该三边是否构成三角形,运用任意两边之和大于第三边

int check(long long x, long long y,long long z){
    if(x+y<=z||x+z<=y||y+z<=x){
        return 0;
    }
     
    return 1;
}



int main(){
    long long arr[104];
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%lld",&arr[i]);
    }
    for(int i=0;i<n-2;i++){
        for(int j=i+1;j<n-1;j++){
            for(int k=j+1;k<n;k++){
                if(check(arr[i],arr[j],arr[k])){
                    printf("%lld %lld %lld",arr[i],arr[j],arr[k]);
                    return 0;
                }
            }
        }
    }
    printf("No solution");
    return 0;
}