結果
問題 |
No.210 探し物はどこですか?
|
ユーザー |
![]() |
提出日時 | 2015-05-15 23:56:19 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 887 bytes |
コンパイル時間 | 621 ms |
コンパイル使用メモリ | 86,740 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-06 04:34:58 |
合計ジャッジ時間 | 11,437 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 TLE * 1 |
ソースコード
#include<iostream> #include<fstream> #include<sstream> #include<string> #include<cstdio> #include<cstdlib> #include<cstring> #include<ctime> #include<stack> #include<queue> #include<set> #include<map> #include<vector> #include<list> #include<algorithm> #include<utility> #include<complex> #include<functional> 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; } double E = 0; int cnt = 0; while (1){ cnt ++; int index = 0; double px = 0; for (int i = 0; i < n; i++){ double d = p[i] * q[i] * Q[i]; if (d > px){ index = i; px = d; } } E += cnt*px; Q[index] *= (1 - q[index]); if (cnt*px < eps)break; } printf("%.4f\n", E); return(0); }