// Ver19.03
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define INF (1 << 29) * 2
#define LLINF 4545454545454545454
#define MOD 1000000007
#define ll long long
#define ull unsigned long long
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
int upll(const void *a, const void *b) { return *(ll *)a < *(ll *)b ? -1 : *(ll *)a > *(ll *)b ? 1 : 0; }
int downll(const void *a, const void *b) { return *(ll *)a < *(ll *)b ? 1 : *(ll *)a > *(ll *)b ? -1 : 0; }
void sortup(ll *a, int n) { qsort(a, n, sizeof(ll), upll); }
void sortdown(ll *a, int n) { qsort(a, n, sizeof(ll), downll); }

ll a[1001];
int main()
{
  ll n, m, cnt = 0, sumOfVote = 0, flag = 0;
  scanf("%lld%lld", &n, &m);
  for (int i = 0; i < n; i++)
  {
    scanf("%lld", a + i);
    sumOfVote += a[i];
  }
  for (int i = 0; i < n; i++)
  {
    if (a[i] >= (double)sumOfVote / (4 * m))
      cnt++;
    if (cnt >= m)
    {
      flag = 1;
      break;
    }
  }
  puts(flag ? "Yes" : "No");
}
