ARC004 A

復習も兼ねて rust で解き直してみる。


fn main() {
    let n = {
        let mut s = String::new();
        std::io::stdin().read_line(&mut s).unwrap();
        s.trim_end().parse::<i32>().unwrap()
    };
    let mut xy: [[i32; 2]; 100] = [[0; 2]; 100];
    for i in 0..n {
        let (a, b) = {
            let mut s = String::new();
            std::io::stdin().read_line(&mut s).unwrap();
            let mut iter = s.split_whitespace().map(|i| i.parse::<i32>().unwrap());
            (iter.next().unwrap(), iter.next().unwrap())
        };
        xy[i as usize][0] = a;
        xy[i as usize][1] = b;
    }

    let mut max_ans = 0.0_f32;
    for i in 0..n {
        for j in 0..n {
            let distance = ((xy[i as usize][0] as f32 - xy[j as usize][0] as f32).powf(2.0_f32) + (xy[i as usize][1] as f32 - xy[j as usize][1] as f32).powf(2.0_f32)).sqrt();
            if max_ans < distance {
                max_ans = distance;
            }

        }
    }
    println!("{}", max_ans);
}