ARC004A - 2点間距離の最大値

atcoder.jp

単純に全探索すれば良い。座標の格納には 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);
        }
    }
}