2023-08-09 仕事をしている / ABC182 A, B, C, D を解いた
仕事をしている。
ABC182 : AtCoder Beginner Contest 182
- A - twiblr
https://atcoder.jp/contests/abc182/tasks/abc182_a
- 提出: https://atcoder.jp/contests/abc182/submissions/44398122
2 * a + 100 - b
- B - Almost GCD
https://atcoder.jp/contests/abc182/tasks/abc182_b
- 提出: https://atcoder.jp/contests/abc182/submissions/44398144
2..=max_a_i
の範囲で A を走査して GCD 度を求めれば良いO(N*MAX(A_i))
なので間に合う
- C - To 3
https://atcoder.jp/contests/abc182/tasks/abc182_c
- 提出: https://atcoder.jp/contests/abc182/submissions/44398396
N <= 10^18
なので各桁の使用有無を試すと2^18
程度で間に合う- 剰余とったものの組み合わせが〜とかよくわからないことをやって 4WA + 時間を溶かしてしまった
- D - Wandering
https://atcoder.jp/contests/abc182/tasks/abc182_d
- 提出: https://atcoder.jp/contests/abc182/submissions/44398719
- 増分と過去の増分の最大値をもっておけば良い
- E - Akari
https://atcoder.jp/contests/abc182/tasks/abc182_e
- 未着手
- この問題を解く予定だったので次回はこれを解く
- F - Valid payments
https://atcoder.jp/contests/abc182/tasks/abc182_f
- 未着手
use proconio::input;
fn main() {
input! {
n: usize,
a: [i64; n],
};
let mut vec = 0_i64;
let mut vec_max = 0_i64;
let mut cur = 0_i64;
let mut max = 0_i64;
for a_i in a {
vec += a_i;
vec_max = vec_max.max(vec);
max = max.max(cur + vec_max);
cur += vec;
}
let ans = max;
println!("{}", ans);
}
今日のコミット。
- genpi 1 commit
- rust-atcoder 1 commit