using System;
using System.Collections;
using System.Collections.Generic;
 
namespace 練習問題
{
    class Program {
        static void Main(string[] args) {
            debug Debug = new debug();
            string[] input = Console.ReadLine().Split(' ');
            int n = int.Parse(input[0]);
            int m = int.Parse(input[1]);
            List<int> a = new List<int>();
            bool result = false;
            string[] Ainput = Console.ReadLine().Split(' ');
            int total = 0;
            for (int i = 0; i < Ainput.Length; i++)
            {
                total += int.Parse(Ainput[i]);
                a.Add(int.Parse(Ainput[i]));
            }
            a.Sort();
            // Debug.Log(total);
            for (int i = 0; i < m; i++)
            {
                // Debug.Log(a[a.Count - i]);
                if (a[a.Count - i - 1]*(4 * m) >= total) {
                    result = true;
                } else {
                    result = false;
                }
            }
            if (result == true){
                Console.WriteLine("Yes");
            } else {
                Console.WriteLine("No");
            }
        }
 
        static void bubble_sort(List<List<int>> a) {
            int count=0;
            for (int i = 0; i < a.Count; i++) {
                for (int j = 0; j < a.Count-i-1; j++) {
                    // if (a[j] == a[a.Count - 1]){
                    //     continue;
                    // }
                    count++;
                    if (a[j][1] > a[j+1][1]){
                        int localsave = 0;
                        localsave = a[j+1][1];
                        a[j+1][1] = a[j][1];
                        a[j][1] = localsave;
                        localsave = a[j][0];
                        a[j][0] = a[j+1][0];
                        a[j+1][0] = localsave;
                    }
                }
                //debug(a,"途中" + i);
            }
            // debug(a,"result");
            //Console.WriteLine("回数"+count);
            for (int i = 0; i < a.Count; i++)
            {
                Console.WriteLine(a[i][0]+" "+a[i][1]);
            }
        }
        /* 標準入力と標準出力が使えるかのチェック
        static void echo() {
            string echotest = Console.ReadLine();
            Console.WriteLine(echotest);
        }
 
        static void HelloWorld(){
            Console.WriteLine("Hello World!");
        }
        */
    }
 
    public class debug{
        public void Log(string str){
            Console.WriteLine(str);
        }
        public void Log(int str){
            Console.WriteLine(str);
        }
        public void Log(object obj){
            Console.WriteLine(obj);
        }
 
        public void Log(int[] arr){
            Console.WriteLine(string.Join(",", arr));
        }
        public void Log(string[] arr){
            Console.WriteLine(string.Join(",", arr));
        }
        public void Log(List<int> arr){
            string shuturyoku = "";
            for (int i = 0; i < arr.Count; i++) {
                shuturyoku += arr[i] + " ";
            }
            Console.WriteLine(shuturyoku.TrimEnd(' '));
        }
    }
}

Measured memory_bytes: 13140