import java.util.*;

class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] edges = new int[N];
        int sum = 0;
        int max = 0;
        for (int i = 0; i < N; i++) {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        }
        System.out.println(max < (sum - max) ? "Yes" : "No");
    }
} import java.util.*; util.* java class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] edges = new int[N];
        int sum = 0;
        int max = 0;
        for (int i = 0; i < N; i++) {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        }
        System.out.println(max < (sum - max) ? "Yes" : "No");
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] edges = new int[N];
        int sum = 0;
        int max = 0;
        for (int i = 0; i < N; i++) {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        }
        System.out.println(max < (sum - max) ? "Yes" : "No");
    } main {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] edges = new int[N];
        int sum = 0;
        int max = 0;
        for (int i = 0; i < N; i++) {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        }
        System.out.println(max < (sum - max) ? "Yes" : "No");
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] edges = new int[N]; edges new int[N] N int sum = 0; sum 0 int max = 0; max 0 for (int i = 0; i < N; i++) {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        } {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        } edges[i] = sc.nextInt() edges[i] edges i sc.nextInt() sc.nextInt sc sum += edges[i] sum edges[i] edges i max = Math.max(max, edges[i]) max Math.max(max, edges[i]) Math.max Math max edges[i] edges i System.out.println(max < (sum - max) ? "Yes" : "No") System.out.println System.out System System.out max < (sum - max) ? "Yes" : "No" max < (sum - max) max (sum - max) sum max "Yes" "No" String[] args args
import java.util.*;

class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] edges = new int[N];
        int sum = 0;
        int max = 0;
        for (int i = 0; i < N; i++) {
            edges[i] = sc.nextInt();
            sum += edges[i];
            max = Math.max(max, edges[i]);
        }
        System.out.println(max < (sum - max) ? "Yes" : "No");
    }
}