pythonで青くなるブログ

主に競プロのについての記事(日記的な)を書きます。現在atcoder水色,こどふぉ青色。python3使って、やってます。atcoder青くなりたい

Atcoder Tenka1 Programmer Beginner Contest C: Align

内容

考えたこと

  • 解説にもある通り、ギザギザな感じにすると良い。
    • a<b<cの時、score(a,b,c)<score(a,c,b)になる。(昇順・降順<ギザギザ)
  • 考えられるのは、以下の4通り。 f:id:sepaT:20200409135934j:plain

    ポイント

  • 端っこの数以外は、2回、結果の式に出てくる。
  • 端っこの数は、1回、結果の式に出てくる。
  • 端っこの数 の選び方がポイント。

    実装

N = int(input())
L = [int(input()) for _ in range(N)]


if N % 2 == 1:
    L = sorted(L, reverse=True)
    minority = N//2
    majority = N - minority
    A = sum(L[:minority])*2 - sum(L[minority:])*2+sum(L[minority:minority+2])
    B = sum(L[:majority])*2 - sum(L[majority:])*2 - sum(L[majority-2:majority])
    ans = max(A, B)
else:
    L = sorted(L)
    C = sum(L[:N//2])*2 - sum(L[N//2:])*2 + L[N//2]-L[N//2-1]
    D = -C
    ans = max(C, D)
print(ans)

終わりに

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

HHKB Professional HYBRID Type-S 日本語配列/墨
価格:35200円(税込、送料無料) (2020/4/9時点)


  • このご時世、家で作業することが多くなってきたので、いいキーボードが欲しいんですが、 なかなか手が出せないですね。
  • 臨時収入でもあれば買いたいです。