#include <bits/stdc++.h>
using namespace std;
inline long long mod(long long n, long long m) {
  long long ret = n % m;
  if (ret < 0) ret += m;
  return ret;
}
long long gcd(long long a, long long b) { return (b == 0 ? a : gcd(b, a % b)); }
long long exp(long long a, long long b, long long m) {
  if (b == 0) return 1;
  if (b == 1) return mod(a, m);
  long long k = mod(exp(a, b / 2, m), m);
  if (b & 1) {
    return mod(a * mod(k * k, m), m);
  } else
    return mod(k * k, m);
}
long long func(double k) { return (long long)floor(k + 0.5); }
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long n, k;
  cin >> n >> k;
  long long N = n;
  vector<long long> v(n);
  vector<long long> cs(n, 1);
  double sum = 0;
  for (long long i = 0; i < n; i++) {
    cin >> v[i];
    sum += v[i];
  }
  long long next = k;
  double x = 0.0, y = (double)n;
  vector<bool> res(n);
  long long cnt = 0;
  while (n) {
    bool testagain = false;
    long long addanother = 0;
    long long addx = 0;
    for (long long j = 0; j < min(k, N); j++) {
      if (cs[j] > v[j]) continue;
      if (!res[j] && func(100 * x / y) == cs[j]) {
        res[j] = 1;
        cnt++;
      }
      cs[j]++;
      if (cs[j] == v[j] + 1) {
        n--;
        addx++;
        testagain = 1;
        addanother++;
      }
    }
    while (addx--) x++;
    if (testagain) {
      for (long long i = 0; i < min(k, N); i++) {
        if (cs[i] > v[i]) continue;
        if (!res[i] && func(100 * x / y) == cs[i]) {
          res[i] = 1;
          cnt++;
        }
      }
    }
    while (addanother-- && k < N) {
      k++;
    }
  }
  cout << cnt << "\n";
}
