読者です 読者をやめる 読者になる 読者になる

水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.116 門松列(1)

回答

#44605 No.116 門松列(1) - yukicoder

最初問題文が読み取れなかったのですが,要は連続する3つの要素を見て,真ん中になるものが,右端または左端になるかどうかを判断する.
(要するになっていない)
あと連続した3つの要素の場合は重複する要素を消して考える.

問題文の読み取りが大変だなあという点以外は,結構素直に実装すれば何とかなりますね.

n = int(input())
ali = list(map(int, input().split()))
res = 0
for i in range(n-2):
    cli = list(set(ali[i:i+3]))
    cli.sort()
    if len(cli) == 3 and (ali[i] == cli[1] or ali[i+2] == cli[1]):
        res += 1
print(res)