0.はじめに
先週かろうじて緑に復帰したので、キープのための
大事なコンテスト。
勢い込んで臨みましたが、Bが難しく大ブレーキ
Dも解けずさんざんな結果に。
レート-28の775と転落しました・・・。
1.A - Insert
値がN個あるリストのK番目にXを入れると言う問題。
答え用リストansを用意し、リストAを頭から入れていき
N番目の値を入れる前にansにKを入れて後を続ける。
注意点としては、for文ループの際
リストの最後に値を入れる時には
ループ後に値をリストに入れる点位でした。
https://atcoder.jp/contests/abc361/submissions/55258015
2.B - Intersection of Cuboids
B問題な割には3次元の考慮が必要と苦手な感じでした。
四苦八苦したものの、どうしてもWA5個が外れず
タイムオーバーでした。
解説を読んだところ、xyz軸それぞれについて
重なるかどうかの判定をしてすべて重なれば
OKという感じでした。
私の当初の考慮では、a~fの直方体が原点に
近いパターンしか考えていなかったのが
問題だったようでした・・・。
https://atcoder.jp/contests/abc361/submissions/55342933
3.C - Make Them Narrow
B問題に比べるとよっぽど簡単な問題でした。
問題文はいろいろ惑わしてくるような条件がありましたが
(残った要素を順序を保って連結した数列をとか)
数列Aから、(N-K)個の要素を引いた場合の最大値と
最小値の差が最小になるケースを考える問題に
帰結すると分かりました。
【実装】
1.N,K,Aを入力
2.Aをソート
3.N-Kを変数P(リストAから要素をK省いた時の要素数)に格納
4.答えを格納する変数ansに10**18を格納
5.以下、iをP-1~N-1まで繰り返す
-5.ansにansとA[i]-A[i-P+1]の小さい方を格納する
6.ansを出力して終了
https://atcoder.jp/contests/abc361/submissions/55281639
以上