競プロ

AtCoderで解いた問題とか AtCoder:Autumn_A

KEYENCE Programming Contest 2019

3完(遅)でした,つらいね.

A - Beginning

4つの数字がそれぞれ異なることが求められているので

A1~A4のどれかが1,9,7,4であることをそれぞれ確認していけばいいです.

ex(C++)

 

B - KEYENCE String

keyenceになる文字列を求めましょう.含むじゃありません(1WA).

全パターンの取り除き方を一度に試すのは書くのが大変なので,前/後ろからi文字削るパターンとi文字目からj文字目までを削るパターンは別々に調べてあげましょう.

後者はsubstr(0,i)+substr(i+j)とかです.

ex(C++)

 

C - Exam and Wizard

これも変換後の数列を出力するかと思いました.(ちゃんと読みましょう)

まず準備度の総和が必要分を下回ると魔法の力でもどうにもなりません.

さらに準備度が下回っている試験はすべて変える必要があって余裕のある試験はなるべく変えたくありません.

そこで準備度が足りている試験の必要分との差を数列aとして持っておくと,aを降べきの順に累積和を取ったときに初めて準備度の不足分を超えるときのaの要素数と準備度が足りてない試験の数の和が答えとなります.

ex(C++)