#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const double eps = 1e-6; int main(void){ int n; double p[1000], q[1000]; double Q[1000]; cin >> n; for (int i = 0; i < n; i++){ cin >> p[i]; p[i] /= 1000; } for (int i = 0; i < n; i++){ cin >> q[i]; Q[i] = 1; q[i] /= 100; } priority_queue> que; for (int i = 0; i < n; i++){ que.push(make_pair(p[i] * q[i], i)); } double E = 0; int cnt = 0; while (1){ cnt ++; int index = que.top().second; double px = que.top().first; que.pop(); E += cnt*px; Q[index] *= (1 - q[index]); if (cnt*px < eps)break; que.push(make_pair(Q[index] * q[index] * p[index], index)); } printf("%.4f\n", E); return(0); }