提出 #38573781
ソースコード 拡げる
use proconio::input;
fn main() {
input! {
n: usize,
h: usize,
ab: [(usize, usize); n],
};
let max_a = ab.iter().copied().map(|(a, _)| a).max().unwrap();
let mut bs = ab
.iter()
.copied()
.filter(|&(_, b)| b > max_a)
.map(|(_, b)| b)
.collect::<Vec<usize>>();
bs.sort();
let mut count = 0_usize;
let mut sum = 0_usize;
for b in bs.into_iter().rev() {
count += 1;
sum += b;
if sum >= h {
println!("{}", count);
return;
}
}
let ans = count + (((h - sum) + max_a - 1) / max_a);
println!("{}", ans);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Katana Thrower |
| ユーザ | bouzuya |
| 言語 | Rust (1.42.0) |
| 得点 | 400 |
| コード長 | 662 Byte |
| 結果 | AC |
| 実行時間 | 27 ms |
| メモリ | 5700 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | a01, a02, a03, a04 |
| All | a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| a01 | AC | 6 ms | 2088 KiB |
| a02 | AC | 1 ms | 2172 KiB |
| a03 | AC | 3 ms | 2128 KiB |
| a04 | AC | 2 ms | 2076 KiB |
| b05 | AC | 2 ms | 2004 KiB |
| b06 | AC | 21 ms | 5544 KiB |
| b07 | AC | 2 ms | 1972 KiB |
| b08 | AC | 21 ms | 5576 KiB |
| b09 | AC | 2 ms | 2124 KiB |
| b10 | AC | 2 ms | 2100 KiB |
| b11 | AC | 2 ms | 2124 KiB |
| b12 | AC | 2 ms | 2124 KiB |
| b13 | AC | 15 ms | 4880 KiB |
| b14 | AC | 11 ms | 5012 KiB |
| b15 | AC | 11 ms | 3876 KiB |
| b16 | AC | 13 ms | 3844 KiB |
| b17 | AC | 20 ms | 4448 KiB |
| b18 | AC | 14 ms | 4156 KiB |
| b19 | AC | 17 ms | 5312 KiB |
| b20 | AC | 19 ms | 5156 KiB |
| b21 | AC | 26 ms | 5528 KiB |
| b22 | AC | 27 ms | 5700 KiB |
| b23 | AC | 2 ms | 2060 KiB |
| b24 | AC | 2 ms | 2200 KiB |