考えて競プロする

プログラミングコンテストの問題をどう考えて解いたかを記録していくブログです。使用言語はPython3

ABC102-B - Maximum Difference を解く

ABC102-B - Maximum Difference

 

整数が複数与えられるので

その中で差の絶対値が最大になる2ペアを見つける問題

 

整数は最大で100個までしか与えられないので

全ての組み合わせを試したとしても十分に間に合うはず

よって組み合わせを全列挙する方法で解くことにする

 

以上を踏まえて書いたコードを以下に示す

 

提出したコード

# 入力
N=input()
l=list(map(int,input().split()))

mx=0
for x in l:
  for y in l:
    mx=max(mx,abs(x-y))

# 出力
print(mx)

 

提出結果はACでした

 

後で気付いたことですが…

今回の問題は異なる2組の整数を選ぶ必要があるが

上記の書き方だと同じ整数同士の組み合わせも見てしまっている

 

しかし、今回はこの書き方でも問題はないようです 

理由が気になる方は解説PDFの方もご覧ください

 

AtCoder Beginner Contest 102 解説