using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp13
{
class Program
{
static void Main(string[] args)
{
double[] NP = Array.ConvertAll(Console.ReadLine().Split(' '), double.Parse);
double p = 1 - ((double)NP[1] / 100.0);
List<double> mass = Array.ConvertAll(Console.ReadLine().Split(' '), double.Parse).OrderBy(j => j).ToList();
//Дальше алгоритм прост: ебашим цикл священной инквизиции, удаляя приплюсованные элементы. Саму плюсовщину мы заранее ещё и в процентную преобразуем.
Ну и в самом начале всё выставляем "на вырост". Да, i=-1 нужна хрень, без неё ничо не работает, хз почему, но цикл сразу решает единицу прибавить и крщ мне просто лень с этим разбираться
for(int i = 0; i <NP[0]-1; i++)
{
mass = mass.OrderBy(j => j).ToList();
mass[i] += mass[i + 1];
mass[i] *= p;
mass.RemoveAt(i + 1);
NP[0]--;
i = -1;
}
//а тут "типаправильное" округление
Console.WriteLine("{0:0.00}", Math.Round(mass[0],2));
}
}
}