Official

C - トーナメント戦の最適組み合わせ / Optimal Pairing for a Tournament Editorial by sounansya


まず、選手 \(K\) より弱い人数を \(X\) とすると選手 \(K\) が勝てる回数は明らかに \(X\) 回以下です。そして、高橋君がトーナメントで最初の \(X\) 回で選手 \(K\) と選手 \(K\) より弱い人で戦わせることで選手 \(K\)\(X\) 回勝つことができます。

以上より、求める答えは選手 \(K\) より弱い人数と一致します。これは for 文などで簡単に求めることができます。

実装例(Python3)

n, k = map(int, input().split())
s = list(map(int, input().split()))
ans = 0
for i in range(n):
    ans += s[i] < s[k - 1]
print(ans)

posted:
last update: