AtCoder ABC135
概要
AtCoderの記録です。全部Pythonで頑張ります。
今回はD,E,Fを解いてないです。すみません。
この記事の対象
本編
AtCoderとは
競技プログラミングコンテストを開催している会社です。 atcoder.jp
ABC135
最近は生活が死にすぎて人生に絶望しています。
なんか生きながら死んでるみたい…。
A Harmony
はい。
A,B = map(int,input().split()) if (A+B) % 2 == 0: print((A+B)//2) else: print('IMPOSSIBLE')
B 0 or 1 Swap
1~Nを並び替えた数列なので、昇順の並べ方が1通りしかありません。
よって、i番目の数字がiか否か調べていき、不一致が2つより多ければ'NO'
となります。
N = int(input()) p = list(map(int,input().split())) cnt = 0 for i in range(N): if p[i] != i+1: cnt += 1 if cnt > 2: print('NO') else: print('YES')
C City Savors
少し悩みました。
明確な根拠はよくわからないですが、1番目の勇者から順に、数字が小さい街のモンスターを優先して倒していくのが最善かな?と思い、それを実装したら通りました。
N = int(input()) A = list(map(int,input().split())) B = list(map(int,input().split())) cnt = 0 for i in range(N): if A[i] >= B[i]: cnt += B[i] else: cnt += A[i] if A[i+1] > B[i]-A[i]: cnt += B[i]-A[i] A[i+1] -= B[i]-A[i] else: cnt += A[i+1] A[i+1] = 0 print(cnt)
D Digits Parade
今回D解けませんでした。悔しい〜。
13で割るということに何か意味があるのだろうと調べてみたところ、106≡100(mod13)だということで、文字列Sを6桁に集約する方針でずっと考えていたのですが、どうやらDPだったようですね。
DPの練習足りてないので、後で解き直しておこうと思います。
まとめ
AGCも前回参加して地味にレートを伸ばしていますが、パフォーマンスレートが1100とかなのでそろそろ伸びが止まってしまいそうです。
水色まではなんとか到達したいものですね。
それではまた次回!