Files
CodeTest/baekjoon/두_대표_자연수/solution_20171623.rs
2024-08-29 16:22:12 +09:00

40 lines
979 B
Rust

macro_rules! parse_list {
($t: ty) => ({
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
let list: Vec<$t> = line.split_whitespace()
.map(|w| w.parse::<$t>().unwrap()).collect();
list
})
}
macro_rules! parse_line {
($($t: ty),+) => ({
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
let mut iter = line.split_whitespace();
($(iter.next().unwrap().parse::<$t>().unwrap()),+)
})
}
fn main(){
let length = parse_line!(usize);
let mut numbers = parse_list!(usize);
// find medain
numbers.sort_unstable();
let median = numbers[(length - 1) / 2];
// find average
let mut sum : usize = 0;
for x in numbers.iter(){
sum += x;
}
let n : usize = sum / length;
let delta : usize = sum - n * length;
let mean : usize = if delta * 2 <= length{ n } else { n + 1 };
println!("{} {}", median, mean);
}