#include <bits/stdc++.h>
#pragma GCC optimize("unroll-loops")
using namespace std;
const int N = 5050;
mt19937 gen(time(NULL));
template <typename T = int>
inline T read() {
  T val = 0, sign = 1;
  char ch;
  for (ch = getchar(); ch < '0' || ch > '9'; ch = getchar())
    if (ch == '-') sign = -1;
  for (; ch >= '0' && ch <= '9'; ch = getchar()) val = val * 10 + ch - '0';
  return sign * val;
}
void solve() {
  int n = read(), k = read();
  vector<int> a(n);
  vector<int> t(n);
  vector<int> checked(n);
  for (auto& v : a) v = read();
  int curr = 0, last = 0;
  vector<int> in_pr;
  int ans = 0;
  while (curr < n) {
    while (last < n && in_pr.size() < k) {
      in_pr.push_back(last);
      last++;
    }
    int ratio = ((100 * (double)(curr) / n) + 0.5);
    vector<int> new_in_pr;
    for (auto process : in_pr) {
      checked[process] = max((int)(t[process] + 1 == ratio), checked[process]);
      if (++t[process] != a[process])
        new_in_pr.push_back(process);
      else
        curr++;
    }
    in_pr = new_in_pr;
  }
  cout << accumulate((checked).begin(), (checked).end(), 0);
}
signed main() {
  int t = 1;
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  while (t--) {
    clock_t z = clock();
    solve();
    fprintf(stderr, "Total Time: %.3f\n",
            (double)(clock() - z) / CLOCKS_PER_SEC),
        fflush(stderr);
  }
}
