Submission #24648
Source Code Expand
module main; import std.stdio; // この解答で使った項目: readln import std.conv; // この解答で使った項目: to import std.string; // この解答で使った項目: strip import std.math; // この解答で使った項目: sqrt void main() { auto n = readln().strip().to!int(); int[] x; int[] y; // 最大距離の2乗 ulong max_distance = 0; foreach (i; 0..n) { // std.array.split: 文字列を空白文字で区切る。 // std.array は自動的に import され、準備なしに使うことができる。 string[] point = readln().strip().split(); x ~= point[0].to!int(); y ~= point[1].to!int(); debug { writefln("(%d, %d)", x[i], y[i]); } // 0..i とすれば、いま追加した点の他にわたってループできる。 foreach (j; 0..i) { // 現在の距離の2乗。三平方の定理より。累乗には演算子 ^^ を使う。かわいい。 ulong current_distance = (x[j] - x[i]) ^^ 2 + (y[j] - y[i]) ^^ 2; debug { writefln("(point[%d], point[%d]).dist = %d.sqrt", j, i, current_distance); } // もし今までの最大距離より大きければ更新する: 最大や最小をループで求める時の常套手段。 if (max_distance < current_distance) { max_distance = current_distance; } } } // std.math.sqrt: 平方根を求める。 // 浮動小数点に変換し、その平方根を求めて出力する。 writefln("%f", sqrt(to!double(max_distance))); } // simple version: http://arc004.contest.atcoder.jp/submissions/24639
Submission Info
Submission Time | |
---|---|
Task | A - 2点間距離の最大値 ( The longest distance ) |
User | majiang |
Language | D (DMD 2.060) |
Score | 100 |
Code Size | 1816 Byte |
Status | AC |
Exec Time | 22 ms |
Memory | 820 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_max.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_max.txt | AC | 21 ms | 784 KB |
00_sample_01.txt | AC | 21 ms | 784 KB |
00_sample_02.txt | AC | 22 ms | 816 KB |
00_sample_03.txt | AC | 22 ms | 796 KB |
00_sample_04.txt | AC | 20 ms | 792 KB |
00_sample_05.txt | AC | 21 ms | 764 KB |
01_rnd_00.txt | AC | 21 ms | 784 KB |
01_rnd_01.txt | AC | 21 ms | 796 KB |
01_rnd_02.txt | AC | 21 ms | 764 KB |
01_rnd_03.txt | AC | 20 ms | 796 KB |
01_rnd_04.txt | AC | 21 ms | 796 KB |
01_rnd_05.txt | AC | 21 ms | 788 KB |
01_rnd_06.txt | AC | 21 ms | 792 KB |
01_rnd_07.txt | AC | 21 ms | 784 KB |
01_rnd_08.txt | AC | 21 ms | 792 KB |
01_rnd_09.txt | AC | 21 ms | 788 KB |
01_rnd_10.txt | AC | 21 ms | 796 KB |
01_rnd_11.txt | AC | 21 ms | 796 KB |
01_rnd_12.txt | AC | 21 ms | 788 KB |
01_rnd_13.txt | AC | 21 ms | 820 KB |
01_rnd_14.txt | AC | 21 ms | 788 KB |
01_rnd_15.txt | AC | 21 ms | 736 KB |
01_rnd_16.txt | AC | 21 ms | 788 KB |
01_rnd_17.txt | AC | 21 ms | 792 KB |
01_rnd_18.txt | AC | 21 ms | 768 KB |
01_rnd_19.txt | AC | 21 ms | 796 KB |