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[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    }
    static long factorial(long num){
        if (num<2)return 1;
        else return num*factorial(num-1);
    }
    static int arraySum(int[] array){
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    }
    static long combination(long a, long b){
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    }
    static double log(double base,double antilogarithm){
        return Math.log(antilogarithm)/Math.log(base);
    }

    static long gcd(long x,long y){
        if (y==0)return x;
        else return gcd(y,x%y);
    }
    static long lcm(long x,long y){
        return x/gcd(x,y)*y;
    }

} 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[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    }
    static long factorial(long num){
        if (num<2)return 1;
        else return num*factorial(num-1);
    }
    static int arraySum(int[] array){
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    }
    static long combination(long a, long b){
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    }
    static double log(double base,double antilogarithm){
        return Math.log(antilogarithm)/Math.log(base);
    }

    static long gcd(long x,long y){
        if (y==0)return x;
        else return gcd(y,x%y);
    }
    static long lcm(long x,long y){
        return x/gcd(x,y)*y;
    }

} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    } 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[] a = new int[n]; a new int[n] n int sum = 0; sum 0 for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            a[i]=sc.nextInt();
            sum+=a[i];
        } {
            a[i]=sc.nextInt();
            sum+=a[i];
        } a[i]=sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc sum+=a[i] sum a[i] a i int ans = 0; ans 0 for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            if (a[i]*4*m>=sum) {
                ans++;
            }
        } {
            if (a[i]*4*m>=sum) {
                ans++;
            }
        } if (a[i]*4*m>=sum) {
                ans++;
            } a[i]*4*m>=sum a[i]*4*m a[i]*4*m a[i] a i 4 m sum {
                ans++;
            } ans++ ans if (ans>=m)System.out.println("Yes");
        else System.out.println("No"); ans>=m ans m System.out.println("Yes") System.out.println System.out System System.out "Yes" System.out.println("No") System.out.println System.out System System.out "No" String[] args args static long factorial(long num){
        if (num<2)return 1;
        else return num*factorial(num-1);
    } factorial {
        if (num<2)return 1;
        else return num*factorial(num-1);
    } if (num<2)return 1;
        else return num*factorial(num-1); num<2 num 2 return 1; 1 return num*factorial(num-1); num*factorial(num-1) num factorial(num-1) factorial num-1 num 1 long num num static int arraySum(int[] array){
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    } arraySum {
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    } int ans = 0; ans 0 for (int value : array) ans += value; int value array ans += value; ans += value ans value return ans; ans int[] array array static long combination(long a, long b){
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    } combination {
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    } long data = 1; data 1 for (int i=0;i<b;i++){
            data*=a-i;
        } int i=0; int i=0; i 0 i<b i b i++ i++ i {
            data*=a-i;
        } {
            data*=a-i;
        } data*=a-i data a-i a i return data/factorial(b); data/factorial(b) data factorial(b) factorial b long a a long b b static double log(double base,double antilogarithm){
        return Math.log(antilogarithm)/Math.log(base);
    } log {
        return Math.log(antilogarithm)/Math.log(base);
    } return Math.log(antilogarithm)/Math.log(base); Math.log(antilogarithm)/Math.log(base) Math.log(antilogarithm) Math.log Math antilogarithm Math.log(base) Math.log Math base double base base double antilogarithm antilogarithm static long gcd(long x,long y){
        if (y==0)return x;
        else return gcd(y,x%y);
    } gcd {
        if (y==0)return x;
        else return gcd(y,x%y);
    } if (y==0)return x;
        else return gcd(y,x%y); y==0 y 0 return x; x return gcd(y,x%y); gcd(y,x%y) gcd y x%y x y long x x long y y static long lcm(long x,long y){
        return x/gcd(x,y)*y;
    } lcm {
        return x/gcd(x,y)*y;
    } return x/gcd(x,y)*y; x/gcd(x,y)*y x/gcd(x,y) x gcd(x,y) gcd x y y long x x long y y public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    }
    static long factorial(long num){
        if (num<2)return 1;
        else return num*factorial(num-1);
    }
    static int arraySum(int[] array){
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    }
    static long combination(long a, long b){
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    }
    static double log(double base,double antilogarithm){
        return Math.log(antilogarithm)/Math.log(base);
    }

    static long gcd(long x,long y){
        if (y==0)return x;
        else return gcd(y,x%y);
    }
    static long lcm(long x,long y){
        return x/gcd(x,y)*y;
    }

} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    }
    static long factorial(long num){
        if (num<2)return 1;
        else return num*factorial(num-1);
    }
    static int arraySum(int[] array){
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    }
    static long combination(long a, long b){
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    }
    static double log(double base,double antilogarithm){
        return Math.log(antilogarithm)/Math.log(base);
    }

    static long gcd(long x,long y){
        if (y==0)return x;
        else return gcd(y,x%y);
    }
    static long lcm(long x,long y){
        return x/gcd(x,y)*y;
    }

} 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[] a = new int[n];
        int sum = 0;
        for (int i=0;i<n;i++){
            a[i]=sc.nextInt();
            sum+=a[i];
        }
        int ans = 0;
        for (int i=0;i<n;i++){
            if (a[i]*4*m>=sum) {
                ans++;
            }
        }
        if (ans>=m)System.out.println("Yes");
        else System.out.println("No");
    }
    static long factorial(long num){
        if (num<2)return 1;
        else return num*factorial(num-1);
    }
    static int arraySum(int[] array){
        int ans = 0;
        for (int value : array) ans += value;
        return ans;
    }
    static long combination(long a, long b){
        long data = 1;
        for (int i=0;i<b;i++){
            data*=a-i;
        }
        return data/factorial(b);
    }
    static double log(double base,double antilogarithm){
        return Math.log(antilogarithm)/Math.log(base);
    }

    static long gcd(long x,long y){
        if (y==0)return x;
        else return gcd(y,x%y);
    }
    static long lcm(long x,long y){
        return x/gcd(x,y)*y;
    }

}
