ABC160 - Atcoder/Python精進のための解説メモ

カレンダーアイコン
2021/06/14

ABC160 - A.Coffee

AtCoder公式 | ABC160 - A.Coffee

解答

s = input()
if s[2] == s[3] and s[4] == s[5]:
    print('Yes')
else:
    print('No')

要点解説メモ

  • シンプルに文字列比較

ABC160 - B.Golden Coins

AtCoder公式 | ABC160 - B.Golden Coins

解答

x = int(input())
print(x // 500 * 1000 + x % 500 // 5 * 5)

要点解説メモ

  • 500円のほうが嬉しさ効率が高いので、500円をできるだけとった後、5円をできるだけとる

ABC160 - C.Traveling Salesman around Lake

AtCoder公式 | ABC160 - C.Traveling Salesman around Lake

解答

k, n = map(int, input().split())
aaa = list(map(int, input().split()))
aaa.append(aaa[0] + k)
dis = [a1 - a0 for a0, a1 in zip(aaa[:-1], aaa[1:])]
print(k - max(dis))

要点解説メモ

  • まず、行ったり来たりするより、ぐるっと1周しきったほうが最短であることに気づく
  • そう考えると、1番距離が離れている家同士の間を通らないことが、最小値
  • 全体の周の長さから、もっとも離れている家同士の距離を引いたものが答え

ABC160 - D.

AtCoder公式 | ABC160 - D.

解答

まだ解いていません

要点解説メモ