単純に全探索すれば良い。座標の格納には System.Numerics.Vector2
を使った。2点間距離の計算が Vector2.Distance
一発で済んで楽。
using System; using System.Numerics; namespace ARC004A { class Program { static void Main(string[] args) { var n = int.Parse(Console.ReadLine()); var v = new Vector2[n]; for (var i = 0; i < n; i++) { var l = Console.ReadLine().Split(' '); v[i] = new Vector2( x: int.Parse(l[0]), y: int.Parse(l[1])); } var a = 0.0d; for (var i = 0; i < v.Length; i++) { for (var j = 0; j < v.Length; j++) { var d = Vector2.Distance(v[i], v[j]); a = Math.Max(a, d); } } Console.WriteLine(a); } } }