「いろんなくるま!」と、子どもが『はたらくくるま』の動画を観たがるので、『マッドマックス 怒りのデス・ロード』を観せておいた。
(おおむね nostr に類似の投稿済み)
- ARC050 B - 花束 (AtCoder Regular Contest 050 B問題)
https://atcoder.jp/contests/arc050/tasks/arc050_b
- https://atcoder.jp/contests/arc050/submissions/41306763
- 花束の個数 (答え) を二分探索する
- 作ることのできるものとできないものに二分する
- 花束の個数を X とする
- どちらの花束を選んでも赤・青を 1 本ずつ使うとすることで 1 の扱いが楽になる
- 先に赤い花および青い花から X 本を引く
- 赤い花が x - 1 本でひとつめの花束をつくれる
- 青い花が y - 1 本でふたつめの花束をつくれる
- 足せばつくれる花束の個数の合計になる、これが X 以上なら作ることができる
use proconio::input; fn main() { input! { r: usize, b: usize, x: usize, y: usize, } let mut ok = 0_usize; let mut ng = r + b; while ng - ok > 1 { let mid = ok + (ng - ok) / 2; if (mid <= r) && (mid <= b) && (((r - mid) / (x - 1)) + ((b - mid) / (y - 1)) >= mid) { ok = mid; } else { ng = mid; } } let ans = ok; println!("{}", ans); }
今日のコミット。