結果
| 問題 |
No.67 よくある棒を切る問題 (1)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-13 15:50:36 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 535 bytes |
| コンパイル時間 | 2,424 ms |
| コンパイル使用メモリ | 137,352 KB |
| 実行使用メモリ | 13,496 KB |
| 最終ジャッジ日時 | 2025-03-03 10:37:14 |
| 合計ジャッジ時間 | 6,717 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 RE * 16 |
ソースコード
import std.stdio;
import std.array;
import std.string;
import std.conv;
import std.algorithm;
void main() {
int N = to!int(chomp(readln()));
int[] L = array(map!(to!int)(split(readln())));
int K = to!int(chomp(readln()));
real high = 1e9;
real low = 0.0;
real middle;
int s;
for (int i = 0; i < 80; i++) {
s = 0;
middle = (high+low)/2.0;
for (int j = 0; j < N; j++)
s += to!int(to!real(L[j])/middle);
if (s >= K)
low = middle;
else
high = middle;
}
writefln("%.9f", high);
}