0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめに


8日目です。Mリーグ見ながら書いてます。

#8

問題

考えたこと
実はこの問題は、ぱっと問題見たときに解けなさそうだったので飛ばしていました。今回は、時間をたっぷり取って考えたので解けました。
チーム内の2番目に強い人がチームの強さになるので、どうやって二番目に強い人を残すかを考えなければいけません。

メンバー3N人を大きい順でsortし、それをAとします。Aの後ろからN人は一人ずつチームに入れると、必ずチーム内で最小の値になります。
残ったA[:2*N]を連続した二個ずつ同じチームに入れると、それぞれのチームの強さが最大化されます

n = int(input())
a = list(map(int,input().split()))

a.sort(reverse=True)
a = a[:2*n]
ans = 0
for i in range(1,2*n,2):
    ans += a[i]
print(ans)

まとめ

次のAGCもAくらいは解けたらいいな。競プロとは関係ないけど、Mリーグおもしろいので見ましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?