結果
| 問題 |
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; }