#include <cstdio>
#include <queue>
#include <vector>
using fp = long double;
int main()
{
int N;
scanf("%d", &N);
std::vector<fp> p(N);
for(int i=0;i<N;++i)
{
int x;
scanf("%d", &x);
p[i] = (fp)x/100;
}
fp ans = (fp)N;
std::vector<fp> pprod(N);
std::vector<fp> gain(N);
fp opt = 1;
for(int i=0;i<N;++i)
{
opt *= 1 - (pprod[i] = (1 - p[i]));
gain[i] = (1 - pprod[i] * (1 - p[i])) / (1 - pprod[i]);
}
auto cmp = [&](int a, int b) {return gain[a] < gain[b];};
std::priority_queue<int, std::vector<int>, decltype(cmp)> q(cmp);
for(int i=0;i<N;++i) q.push(i);
ans += 1 - opt;
for(int t=0;t<1000000;++t)
{
int v = q.top();
q.pop();
opt *= gain[v];
pprod[v] *= (1 - p[v]);
ans += 1 - opt;
gain[v] = (1 - pprod[v] * (1 - p[v])) / (1 - pprod[v]);
q.push(v);
}
printf("%.9lf\n", (double)ans);
return 0;
}
1108B - Divisors of Two Integers | 1175A - From Hero to Zero |
1141A - Game 23 | 1401B - Ternary Sequence |
598A - Tricky Sum | 519A - A and B and Chess |
725B - Food on the Plane | 154B - Colliders |
127B - Canvas Frames | 107B - Basketball Team |
245A - System Administrator | 698A - Vacations |
1216B - Shooting | 368B - Sereja and Suffixes |
1665C - Tree Infection | 1665D - GCD Guess |
29A - Spit Problem | 1097B - Petr and a Combination Lock |
92A - Chips | 1665B - Array Cloning Technique |
1665A - GCD vs LCM | 118D - Caesar's Legions |
1598A - Computer Game | 1605A - AM Deviation |
1461A - String Generation | 1585B - Array Eversion |
1661C - Water the Trees | 1459A - Red-Blue Shuffle |
1661B - Getting Zero | 1661A - Array Balancing |