Module c
Expand description
ยงABC 384 C - Perfect Standings
refs: https://atcoder.jp/contests/abc384/tasks/abc384_c
use proconio::input;
fn main() {
input! {
scores: [usize; 5]
}
let mut results = (1..=31)
.map(|i| {
let mut score = 0;
let mut name = String::new();
for j in 0..5u8 {
if i & (1 << j) != 0 {
score += scores[j as usize];
name.push_str(&format!("{}", (b'A' + j) as char));
}
}
(score, name)
})
.collect::<Vec<_>>();
results.sort_by(|a, b| {
if b.0 == a.0 {
a.1.cmp(&b.1)
} else {
b.0.cmp(&a.0)
}
});
for (_, name) in results {
println!("{name}");
}
}