Edit

【pythonでABC161を解説】B - Popular Vote

問題概要

問題ページ

問題文

\(N\) 種類の商品に対して人気投票を行いました。商品 \(i\) は \(A_i\) 票を得ています。

この中から人気商品 \(M\) 個を選びます。ただし、得票数が総投票数の \(\dfrac{1}{4M}\) 未満であるような商品は選べません。

人気商品 \(M\) 個を選べるなら Yes、選べないなら No を出力してください。

制約

  • \(1 \leq M \leq N \leq 100\)
  • \(1 \leq A_i \leq 1000\)
  • \(A_i\) は相異なる
  • 入力は全て整数

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n, m = list(map(int, input().rstrip('\n').split()))
    a = list(map(int, input().rstrip('\n').split()))
    a.sort(reverse=True)
    sa = sum(a)
    for i in range(m):
        if a[i] < (1 / (m * 4)) * sa:
            print("No")
            exit()
    print("Yes")


if __name__ == '__main__':
    solve()

プログラミング

-Edit