秘密の本棚

気になることをなんでも書きます

AtCoder

AtCoder Beginner Contest 113

C - ID 問題 C - ID 考察 個にグループ分けされる、順序付きの個の要素があり、グループごとに順番に番号を振って最後に与えられた順に番号を出力する。 愚直に入力をグループ分けしてまずソートして番号を振ったのち、すべての要素を合体して与えられた順に…

AtCoder Beginner Contest 112

AtCoder Beginner Contest 112 - AtCoder A - Programming Education 問題 A - Programming Education 考察 の値が1の場合は文字列を出力し、2の場合は計算をする問題。の値に応じて処理するだけ。 コード int main(){ int n; cin >> n; if(n==1){ cout << "…

AtCoder Beginner Contest 110

AtCoder Beginner Contest 110 - AtCoder A - Maximize the Formula 問題 A - Maximize the Formula 考察 与えられた3つの1桁の数字を順不同にとするとき、の最大値を求める。結局に何が入るかを場合分けすれば、取りうる値はたかだか3通りなのですべて調べ…

AtCoder Beginner Contest 109

AtCoder Beginner Contest 109 - AtCoder A - ABC333 問題 A - ABC333 考察 整数が与えられるとき、が奇数となるような整数が存在するかを判定する。が偶数であるときをどのように選んでもは偶数になる。一方でが奇数であるときを奇数とすればは奇数になる。…

AtCoder Beginner Contest 108

AtCoder Beginner Contest 108 - AtCoder A - Pair 問題 A - Pair 考察 以上以下の偶数と奇数の選び方の個数を求める。偶数の個数はで、奇数の個数はで求まるので、その積を返す。 コード int main(){ ll k; cin >> k; ll even = k/2; ll odd = (k+1)/2; cou…

AtCoder Beginner Contest 107 - Median of Medians

D - Median of Medians 問題 D - Median of Medians 考察 長さNの数列aが与えられ、すべての部分列a[l,r]の中央値によって新たな数列を作るとき、その数列の中央値を求める。最終的な答えは元の数列aの要素であるので、aをソートしてから二分探索で答えを求…

AtCoder Beginner Contest 106

AtCoder Beginner Contest 106 - AtCoder A - Garden 問題 A - Garden 考察 縦、横の長方形から縦、横の長方形と縦、横の長方形を切り取った残りの面積を求める。これらの長方形は平行移動しても残りの面積が不変であるから、端に寄せれば残りは縦、横の長方…

AtCoder Beginner Contest 105

AtCoder Beginner Contest 105 - AtCoder A - AtCoder Crackers 問題 A - AtCoder Crackers 考察 個のものを人で分けるときの個数の差の最小値。ちょうど割り切れれば0、割り切れなければ1…?(証明せず) コード int main(){ ll n,k; cin >> n >> k; if(n%k…