(ABC140)

ABC140のネタバレあります! 三十三間党です.

問題はこちら. atcoder.jp

A.Password

高橋くんが3桁パスワードを作る問題.ありがちな話ですが,(文字の種類)^(桁数)ですね.今回だとN3.しかし急ぎすぎてなぜかN2を出力する凡ミス.

import strutils,math
var N = stdin.readline.parseint
echo (N^3)

B.Buffet

料理をリストAの順番A[i]で食べ,満足度リストB[A[i]]番目の満足度を得,もしA[i]+1がA[i+1]なら,C[i]の満足度も得れる,という問題です.リストが実装出来ますか?という問題だと思います.

import strutils,sequtils,math
var
  N = stdin.readline.parseint
  A = stdin.readline.split.map(parseint)
  B = stdin.readline.split.map(parseint)
  C = stdin.readline.split.map(parseint)
  ans = 0
ans += sum(B)
for i in 0..<N-1:
  if A[i] + 1 == A[i+1]:
    ans += C[A[i]-1]
echo ans

C.Maximal Value

問題文の意味を読み取るのに時間がかかりました.解き方はやっぱり例から入りました.どれだけ大きい数がBに入っていたとしても,連続しないと意味がないようなので,min(B[i],B[i+1])が思いつきました.それに+でBの最初と最後を足して完成です.

import sequtils,strutils,math,algorithm
var
  N = stdin.readline.parseint
  B = stdin.readline.split.map(parseint)
  ans = 0
ans += B[0]
ans += B[N-2]
for i in 0..<N-2:
  ans += min(B[i],B[i+1])
echo ans

D.Face Produces Unhappiness

これもまた問題文で一瞬??となりました.てか解説文読んでもよくわからん.

総評

パフォーマンスは541.冴えねー.茶色レートにもならんし.やっぱりね,過去問でD解いてないやつがD解けるようになるわけないっすわ.というわけで過去問のDもやっていきたいと思います.あと蟻本のC++->Nim翻訳も進めていきたい.

Nimメモはここに移動しましたー> qiita.com

Twitterアカウントはこれー> twitter.com