結果
問題 |
No.67 よくある棒を切る問題 (1)
|
ユーザー |
|
提出日時 | 2017-01-23 14:48:16 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 620 ms / 5,000 ms |
コード長 | 594 bytes |
コンパイル時間 | 2,606 ms |
コンパイル使用メモリ | 146,132 KB |
実行使用メモリ | 16,532 KB |
最終ジャッジ日時 | 2025-03-03 10:39:52 |
合計ジャッジ時間 | 11,093 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string; import std.math; // math functions const real eps = 1e-10; void main() { auto n = readln.chomp.to!size_t; auto li = readln.split.to!(real[]); auto k = readln.chomp.to!size_t; li.sort!"a > b"; bool canCreate(real a, real _) { auto i = size_t(0); foreach (l; li) { if (l < a) break; i += (l / a).floor.to!size_t; if (i >= k) return true; } return false; } auto r = iota(eps, li[0] + eps, eps).assumeSorted!canCreate.lowerBound(0.to!real); writefln("%.10f", r.back); }