# AtCoder: ABC253 (Swift)

- ABDの3完
- C問題で以前作った二分探索木のコードを流用したのだけど、それにエラーがあって解答できず
- 悔しい…
- それ以外はDで考えずにTLEを出した以外はそこそこ順調だった

## [A - Median?](https://atcoder.jp/contests/abc253/tasks/abc253_a)

- 3つだけだし、ぱっとソートした
- 最適な方法とかに時間をかけずにぱっと書けたかな？

### 提出

- [AC](https://atcoder.jp/contests/abc253/submissions/32001091)

## [B - Distance Between Tokens](https://atcoder.jp/contests/abc253/tasks/abc253_b)

- グリッドの位置から計算できる問題
- 最初に提出したときに誤作動と自動補完でAppKitをインポートしようとしてCE
- 結果にはカウントされないけれど、もったいない
- とはいえ、ローカルだと動くコードだし、目検で防ぐのは現実的じゃないから不運な事故として諦めるしかない


### 提出

- [AC](https://atcoder.jp/contests/abc253/submissions/32010878)

## [C - Max - Min Query](https://atcoder.jp/contests/abc253/tasks/abc253_c)

- 詳しくは [アルゴ式: 920 Q5. 二分探索木からの削除 (Swift)](https://continuous-tumbling.com/algo920-q5-deleting-from-binary-tree-swift)の2022-05-29の追記で…
- 指摘していただいた、[hironytic](https://atcoder.jp/users/hironytic)さんに感謝…
- やっぱり二分探索木をその場でぱっと書くのには時間かかりすぎるから、自分のライブラリとしてもっておきたい
- [toamさんの解説](https://atcoder.jp/contests/abc253/editorial/4040)でPriorityQueueを最小用と、最大用に二つ使って答えを出す方法を紹介されてて、[strmikanさんの解答](https://atcoder.jp/contests/abc253/submissions/32017425)もそれで行なっている
- 二分探索木を使う方法自体は悪くないけれども、PriorityQueueの実装の方が安定しているから、それを使うように発想の転換ができればよかったか

### 提出

- [AC](https://atcoder.jp/contests/abc253/submissions/32068515)

## [D - FizzBuzz Sum Hard](https://atcoder.jp/contests/abc253/tasks/abc253_d)

- 最初は10<sup>9</sup>なら行けるかと思って単純に実装したけれども、TLE
- 最小公倍数の出し方は深く考えずにネットでぱっと調べてしまった
- これは改めてライブラリに追加してもいいかも

### 提出

- [素直なTLE](https://atcoder.jp/contests/abc253/submissions/32018841)
- [AC](https://atcoder.jp/contests/abc253/submissions/32023564)

