#include <bits/stdc++.h>
using namespace std;
const int INF = 1003;
const long long LINF = 8e18;
const int MOD = 1e9 + 7;
const long double EPS = 1e-9;
priority_queue<pair<int, pair<int, int> > > t;
set<pair<int, pair<int, int> > > q;
long long n, k;
int a[INF];
bool b[INF];
inline int calc_round(int X) {
  return round((long double)(((long double)X) / ((long double)n)) * 100);
}
int main() {
  scanf("%lld", &n);
  scanf("%lld", &k);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  ;
  for (int i = 0; i < n; i++) b[i] = 0;
  for (int i = 0; i < k; i++) {
    t.push({-1 * a[i], {0, i}});
    q.insert({-1 * a[i], {0, i}});
  }
  int pt = k;
  int cnt = 0;
  for (int it = 1; it < n; it++) {
    int t_i = -1 * (t.top().first);
    q.erase(t.top());
    t.pop();
    if (pt < n) {
      t.push({-1 * (t_i + a[pt]), {t_i, pt}});
      q.insert({-1 * (t_i + a[pt]), {t_i, pt}});
      pt++;
    }
    for (auto p_i : q) {
      int t_start = p_i.second.first;
      int test_cur = t_i + 1 - t_start;
      int t_end = -1 * (p_i.first);
      int test_num = calc_round(it);
      int t_end_next = -1 * (t.top().first);
      if (test_num >= test_cur && test_num + t_start < t_end_next + 1 &&
          test_num <= a[p_i.second.second]) {
        b[p_i.second.second] = true;
      }
    }
  }
  for (int i = 0; i < n; i++)
    if (b[i]) cnt++;
  printf("%d", cnt);
  return 0;
}
