2024-03-21 adt_easy_20240320_2
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