CADDYコン(ABC193)

結果

A  \ 02:00

B  \  09:14

C  \ 33:49

D  \ 78:33

 1WAの 4完で,パフォは 1057,rating変動は +28 801 \to 829でした.

B問題で 1WAしたってマジ...?

考察

A問題

 100 - 100 \times \dfrac{B}{A}

を出力すればOKです.

算数できなさすぎて割合計算で 2分もかかりましたw

B問題

最終的な出力をする変数をansとして,始めはデカい数字を入れておきます.(私はlong longで変数をいつも宣言しているので 10^{18} で初期化しました.)

 0.5分刻みでスヌケマシンは売れてゆくので, 0 \leq i \lt N i について, A [ i ] \lt X [ i ] であればスヌケマシンは売れ残っていると見なせます.

このとき,現在の最小料金ansよりも P [ i ] が小さければansを P [ i ] で更新します.


なぜかめちゃくちゃ問題文の読み間違えをしていました.

始めは,残っているスヌケマシンを一番多く買ったときの料金を求めていましたw

C問題

 a^{b}の形の数はとても少ない気がするので,片っ端から列挙します.

 aの調べる範囲ですが, b=2が最小であることを考えれば 2 \leq a \leq \sqrt{N} です.

このようなそれぞれの aについて, Nを超えるまで 2乗, 3乗,...としてmapやsetなどのデータ構造に突っ込んでいきます.

普通に数えていくと, 2^{4} 4^{2}のように重複カウントがあるのでmapなどで管理しないといけません.

D問題

これは超絶ゴリ押しました.

 1から 9のカードがそれぞれ何枚残っているかを持っておきます.

何枚残っているかをsumとでもおくと,高橋くんと青木くんの裏向きのカードの組み合わせの総数はsum \times ( sum -1)です.

次に,高橋くんの 5枚目と青木くんの 5枚目の数字が何かで全探索します.(最大でもたぶん 9 \times 9通り)

つまり, 1から 9のカードがそれぞれ何枚残っているかを更新しながら場合の数を頑張って計算します.

例えば,高橋くんの裏カードが 5だと仮定して,青木くんの裏カードとして 8が条件を満たすとします.ここで, 8の残りの枚数だけ条件を満たす場合の数があります.

高橋くんが選んだカードの残り枚数を減らしておく必要があること,そしてそのカードを見終わったら残り枚数を元に戻しておく必要があります.

得点の計算方法ですが,気合です.

感想

B問題までで時間がかかったりWAを出したりめちゃくちゃ焦りましたが,Dまで解けてよかった...

コンテスト中に緑diff問題を解けたのでとても嬉しいです.