adt_easy_20240320_2 : AtCoder Daily Training EASY 2024/03/20 18:00start
- A - 3.14
https://atcoder.jp/contests/adt_easy_20240320_2/tasks/abc314_a
- 提出: https://atcoder.jp/contests/adt_easy_20240320_2/submissions/51495884
- 問題文にある円周率を文字列として保持し、 0..n + 2 の範囲を出力すれば良い
- B - Edge Checker 2 https://atcoder.jp/contests/adt_easy_20240320_2/tasks/abc285_a
- C - Explore
https://atcoder.jp/contests/adt_easy_20240320_2/tasks/abc265_b
- 提出: https://atcoder.jp/contests/adt_easy_20240320_2/submissions/51496036
- 指示通りにシミュレートする
- D - Subscribers
https://atcoder.jp/contests/adt_easy_20240320_2/tasks/abc304_b
- 提出: https://atcoder.jp/contests/adt_easy_20240320_2/submissions/51496154
- 指示通りに分岐
- 整数の除算・乗算で切り捨てる
- E - Long Sequence
https://atcoder.jp/contests/adt_easy_20240320_2/tasks/abc220_c
- 提出: https://atcoder.jp/contests/adt_easy_20240320_2/submissions/51497341
- 1 周期あたりの合計・個数の増分を事前に計算する
- x / 合計で周期の回数が分かるので、そこまでの個数が分かる
- 残りは素朴に前から数えると良い
use proconio::input; fn main() { input! { n: usize, a: [usize; n], x: usize, }; let sum_cycle = a.iter().copied().sum::<usize>(); let count_cycle = x / sum_cycle; let mut count = count_cycle * n; let mut sum = count_cycle * sum_cycle; for a_i in a { sum += a_i; count += 1; if sum > x { break; } } let ans = count; println!("{}", ans); }
今日のコミット。
- rust-examples 1 commit
- rust-atcoder 1 commit