#include <bits/stdc++.h>
using namespace std;
int N;
double K;
double a[20000];
double remain;
bool isOK(double x) {
  double upper = 0;
  double lower = 0;
  for (int i = 0; i < N; ++i) {
    if (a[i] > x)
      upper += a[i] - x;
    else
      lower += x - a[i];
  }
  return upper * remain >= lower;
}
void init() {
  cin >> N >> K;
  for (int i = 0; i < N; ++i) scanf("%lf", &a[i]);
  remain = (100 - K) / 100.0;
}
void york() {
  double l = 0;
  double r = 1e6;
  for (int i = 0; i < 200; ++i) {
    double mid = (l + r) / 2;
    if (isOK(mid))
      l = mid;
    else
      r = mid;
  }
  printf("%.8f\n", l);
}
int main() {
  init();
  york();
  return 0;
}
