#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 9, M = 1e3, OO = 0x3f3f3f3f;
const double EPS = 1e-9;
;
inline int readi() {
  int n;
  scanf("%d", &n);
  return n;
}
inline long long readll() {
  long long n;
  scanf("%I64d", &n);
  return n;
}
inline char readc() {
  char c;
  scanf("%c ", &c);
  return c;
}
inline double readd() {
  double n;
  scanf("%lf", &n);
  return n;
}
inline bool dCMP(const double& a, const double& b) { return fabs(a - b) < EPS; }
void IO() {}
int n;
int arr[N];
long double k = 0;
bool ok(long double mid) {
  double tot = 0;
  int cnt = 0;
  for (int i = 0; i < n; ++i) {
    double res = arr[i] - mid;
    if (arr[i] >= mid) {
      tot += res - res * k;
      cnt++;
    }
  }
  for (int i = 0; i < n; ++i) {
    double res = mid - arr[i];
    if (arr[i] < mid) {
      if (tot > res && tot != 0)
        tot -= res;
      else
        break;
      cnt++;
    }
  }
  return cnt >= n;
}
int main() {
  n = readi();
  k = readd();
  k = k / 100.0;
  for (int i = 0; i < n; ++i) arr[i] = readi();
  double lo = 0, hi = 10000.0, ans = 0.0;
  while (fabs(hi - lo) > EPS) {
    double mid = (lo + hi) / 2.0;
    if (ok(mid)) {
      ans = mid;
      lo = mid;
    } else
      hi = mid;
  }
  printf("%.9f", ans);
  return 0;
}
