結果
| 問題 | No.210 探し物はどこですか? |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-03-12 17:10:50 |
| 言語 | D (dmd 2.112.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 629 bytes |
| 記録 | |
| コンパイル時間 | 4,182 ms |
| コンパイル使用メモリ | 210,548 KB |
| 実行使用メモリ | 21,132 KB |
| 最終ジャッジ日時 | 2026-03-12 17:13:49 |
| 合計ジャッジ時間 | 170,866 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge3_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 TLE * 2 |
| other | TLE * 43 |
ソースコード
module main;
// https://mayokoex.hatenablog.com/entry/2015/05/16/092914 より
// 確率
import std;
void main()
{
// 入力
int N = readln.chomp.to!int;
auto P = readln.split.to!(double[]).map!((ref n) => n /= 1000).array;
auto Q = readln.split.to!(double[]).map!((ref n) => n /= 100).array;
// 答えの計算
double ret = 0;
alias T = Tuple!(double, int);
auto que = iota(0, N).map!(i => T(P[i] * Q[i], i)).array.heapify;
foreach (i; 1 .. 1_000_000) {
T now = que.front;
que.removeFront;
ret += now[0] * i;
que.insert(T(now[0] * (1 - Q[now[1]]), now[1]));
}
// 答えの出力
writefln("%.12f", ret);
}