import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    }
} Main public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    } main {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int M = sc.nextInt(); M sc.nextInt() sc.nextInt sc int[] Az = new int[N]; Az new int[N] N int[] sortedAz = new int[N]; sortedAz new int[N] N for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            Az[i] = sc.nextInt();
        } {
            Az[i] = sc.nextInt();
        } Az[i] = sc.nextInt() Az[i] Az i sc.nextInt() sc.nextInt sc Arrays.sort(Az) Arrays.sort Arrays Az int sum = 0; sum 0 for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        } {
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        } sortedAz[i] = Az[N-i-1] sortedAz[i] sortedAz i Az[N-i-1] Az N-i-1 N-i-1 N i 1 sum += Az[N-i-1] sum Az[N-i-1] Az N-i-1 N-i-1 N i 1 double limit = (double) sum / (4*M); limit (double) sum / (4*M) (double) sum (4*M) 4 M for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        } int i = 0; int i = 0; i 0 i < M i M i++ i++ i {
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        } {
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        } if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            } sortedAz[i] < limit sortedAz[i] sortedAz i limit {
                System.out.println("No");
                System.exit(0);
            } System.out.println("No") System.out.println System.out System System.out "No" System.exit(0) System.exit System 0 System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    }
} public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int[] Az = new int[N];
        int[] sortedAz = new int[N];
        for (int i = 0; i < N; i++){
            Az[i] = sc.nextInt();
        }
        Arrays.sort(Az);
        int sum = 0;
        for (int i = 0; i < N; i++){
            sortedAz[i] = Az[N-i-1];
            sum += Az[N-i-1];
        }

        double limit = (double) sum / (4*M);
        for (int i = 0; i < M; i++){
            if (sortedAz[i] < limit){
                System.out.println("No");
                System.exit(0);
            }
        }
        System.out.println("Yes");
    }
}