2023-09-05 ABC053 A, B, C, D を解いた
ABC053 : AtCoder Beginner Contest 053
- A - ABC/ARC
https://atcoder.jp/contests/abc053/tasks/abc053_a
- 提出: https://atcoder.jp/contests/abc053/submissions/45254496
if x < 1200 { "ABC" } else { "ARC" }
- B - A to Z String
https://atcoder.jp/contests/abc053/tasks/abc053_b
- 提出: https://atcoder.jp/contests/abc053/submissions/45254518
- A の場所 l を左から、 Z の場所 r を右から探して
r - l + 1
- C - X: Yet Another Die Game
https://atcoder.jp/contests/abc053/tasks/arc068_a
- 提出: https://atcoder.jp/contests/abc053/submissions/45254569
x <= 10^15
なので単純な試行は不可- 6565... と転がすのが最善なので 11 周期で得られる点数 (
x / 11
) をまず求める x % 11
が 0 なら 0, 1..=6 なら 1, 7..11 なら 2 を追加すれば良い
- D - Card Eater
https://atcoder.jp/contests/abc053/tasks/arc068_b
- 提出: https://atcoder.jp/contests/abc053/submissions/45267924
- N は奇数なので種類数が奇数なら余っている枚数は偶数になる
- 種類数が偶数なら余っている枚数は奇数でそれを削るためにどこか一種類は減る
use std::collections::HashSet;
use proconio::input;
fn main() {
input! {
n: usize,
a: [usize; n],
};
let count = a.iter().copied().collect::<HashSet<_>>().len();
let ans = if count % 2 == 0 { count - 1 } else { count };
println!("{}", ans);
}
今日のコミット。
- kireta 1 commit
- rust-atcoder 2 commits