結果
問題 |
No.2790 Athena 3
|
ユーザー |
|
提出日時 | 2024-06-23 07:54:19 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 1,027 bytes |
コンパイル時間 | 3,430 ms |
コンパイル使用メモリ | 145,152 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 07:54:25 |
合計ジャッジ時間 | 4,125 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 |
ソースコード
import std.stdio: readf, writeln; import std.math.algebraic: sqrt; import std.algorithm.comparison: max; const dx = [0, 0, -1, 1]; const dy = [-1, 1, 0, 0]; void main() { int x1, y1, x2, y2, x3, y3; readf("%d %d %d %d %d %d\n", x1, y1, x2, y2, x3, y3); double res = 0; foreach(a; 0..4) { const p1 = x1 + dx[a]; const q1 = y1 + dy[a]; foreach(b; 0..4) { const p2 = x2 + dx[b]; const q2 = y2 + dy[b]; const x = sqrt(cast(double)(sqr(p1 - p2) + sqr(q1 - q2))); foreach(c; 0..4) { const p3 = x3 + dx[c]; const q3 = y3 + dy[c]; const y = sqrt(cast(double)(sqr(p2 - p3) + sqr(q2 - q3))); const z = sqrt(cast(double)(sqr(p3 - p1) + sqr(q3 - q1))); const s = (x + y + z) / 2; res = max(res, sqrt(s * (s - x) * (s - y) * (s - z))); } } } writeln(res); } pragma(inline) long sqr(const long x) @safe @nogc { return x * x; }