結果
問題 | No.210 探し物はどこですか? |
ユーザー |
![]() |
提出日時 | 2023-01-15 18:12:48 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 826 bytes |
コンパイル時間 | 1,008 ms |
コンパイル使用メモリ | 113,756 KB |
最終ジャッジ日時 | 2025-02-10 03:38:57 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 TLE * 1 |
other | AC * 38 TLE * 5 |
ソースコード
#include <iostream> #include <vector> #include <cmath> #include <map> #include <set> #include <iomanip> #include <queue> #include <algorithm> #include <numeric> #include <deque> #include <complex> #include <cassert> using namespace std; int main(){ int N, idx; long double ans=0, pr; cin >> N; vector<long double> p(N), q(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] /= 100; } priority_queue<pair<long double, int>> que; for (int i=0; i<N; i++){ que.push({p[i]*q[i], i}); } for (int i=1; i<=3000000; i++){ tie(pr, idx) = que.top(); que.pop(); ans += pr * i; que.push({pr*(1.0-q[idx]), idx}); } cout << setprecision(18) << ans << endl; return 0; }