Skip to content

割り勘

1. Problem

해당 문제는 여기에서 확인하실 수 있습니다.

2. Answer

import sys

# 입력이 0 0이 나올 때까지 여러 데이터셋을 처리
while True:
    # 참가자 수 N, 총 비용 M 입력
    N, M = map(int, sys.stdin.readline().split())

    # 종료 조건
    if N == 0 and M == 0:
        break

    # 각 참가자의 현재 소지금 리스트 입력
    所持金リスト = list(map(int, sys.stdin.readline().split()))

    # 1인당 부담해야 할 금액 (M은 N의 배수이므로 정수 나눗셈 가능)
    一人当たり金額 = M // N

    # 오늘 실제로 모을 수 있는 총 금액
    今日集められる金額 = 0

    # 각 참가자에 대해
    for 所持金 in 所持金リスト:
        # 소지금이 부족하면 가진 돈만, 충분하면 1인당 금액만 더함
        今日集められる金額 += min(所持金, 一人当たり金額)

    # 해당 데이터셋에 대한 결과 출력
    print(今日集められる金額)