import java.util.*;
import java.math.*;
     
class Main{
    public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        }catch(Exception e){
            e.printStackTrace();
        }        
    }
} import java.util.*; util.* java import java.math.*; math.* java class Main{
    public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        }catch(Exception e){
            e.printStackTrace();
        }        
    }
} Main public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        }catch(Exception e){
            e.printStackTrace();
        }        
    } main {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        }catch(Exception e){
            e.printStackTrace();
        }        
    } try(Scanner sc = new Scanner(System.in)){
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        }catch(Exception e){
            e.printStackTrace();
        } catch(Exception e){
            e.printStackTrace();
        } Exception e {
            e.printStackTrace();
        } e.printStackTrace() e.printStackTrace e {
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        } Scanner sc = new Scanner(System.in) Scanner sc = new Scanner(System.in) new Scanner(System.in) long n = Long.parseLong(sc.next()); n Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc long m = Long.parseLong(sc.next()); m Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc long allVote = 0; allVote 0 List<Integer> list = new ArrayList<>(); list new ArrayList<>() for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            } {
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            } int vote = Integer.parseInt(sc.next()); vote Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc list.add(vote) list.add list vote allVote += vote allVote vote Collections.sort(list) Collections.sort Collections list Collections.reverse(list) Collections.reverse Collections list int judge = list.get((int)m - 1); judge list.get((int)m - 1) list.get list (int)m - 1 (int)m 1 if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes"); (double)judge < (double)allVote/(4*(double)m) (double)judge (double)allVote/(4*(double)m) (double)allVote (4*(double)m) 4 (double)m System.out.println("No") System.out.println System.out System System.out "No" System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args
import java.util.*;
import java.math.*;
     
class Main{
    public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = Long.parseLong(sc.next());
            long m = Long.parseLong(sc.next());

            long allVote = 0;

            List<Integer> list = new ArrayList<>();
            
            for(int i = 0; i < n; i++){
                int vote = Integer.parseInt(sc.next());
                list.add(vote);
                allVote += vote;
            }

            Collections.sort(list);
            Collections.reverse(list);

            int judge = list.get((int)m - 1);

            if((double)judge < (double)allVote/(4*(double)m)) System.out.println("No");
            else System.out.println("Yes");

        }catch(Exception e){
            e.printStackTrace();
        }        
    }
}