Update solution for 블랙잭 w/ id 20044650
Time: 4ms MemUsage: 13032KB
This commit is contained in:
54
baekjoon/블랙잭/solution_20044650.rs
Normal file
54
baekjoon/블랙잭/solution_20044650.rs
Normal file
@@ -0,0 +1,54 @@
|
||||
|
||||
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 (n, m): (usize, u32) = parse_line!(usize, u32);
|
||||
let mut numbers: Vec<u32> = parse_list!(u32);
|
||||
|
||||
// sort
|
||||
numbers.sort_unstable();
|
||||
let mut max = 0;
|
||||
for i1 in 0..n{
|
||||
let s1 = numbers[i1];
|
||||
if s1 > m{
|
||||
break;
|
||||
}
|
||||
|
||||
for i2 in i1+1..n{
|
||||
let s2 = numbers[i2] + s1;
|
||||
if s2 > m{
|
||||
break;
|
||||
}
|
||||
|
||||
for i3 in i2+1..n{
|
||||
let s = numbers[i3] + s2;
|
||||
if s <= m && s > max{
|
||||
max = s;
|
||||
}
|
||||
else if s > m{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
println!("{}", max);
|
||||
}
|
||||
Reference in New Issue
Block a user