목차

Yonsei TOTO 2

ps
링크acmicpc.net/…
출처BOJ
문제 번호34826
문제명Yonsei TOTO 2
레벨골드 5
분류

그리디

시간복잡도O(nlogn)
인풋사이즈n<=100,000
사용한 언어Python 3.13
제출기록49392KB / 124ms
최고기록124ms
해결날짜2026/01/29

풀이

코드

"""Solution code for "BOJ 34826. Yonsei TOTO 2".

- Problem link: https://www.acmicpc.net/problem/34826
- Solution link: http://www.teferi.net/ps/problems/boj/34826

Tags: [greedy]
"""

import sys


def main():
    N, M, S = [int(x) for x in sys.stdin.readline().split()]
    A = [int(x) for x in sys.stdin.readline().split()]
    B = [int(x) for x in sys.stdin.readline().split()]

    sorted_inds = sorted(range(N), key=lambda i: B[i] / A[i], reverse=True)

    answers = [0] * N
    for i in sorted_inds:
        answers[i] = betting_amount = min(A[i], M, S)
        S -= betting_amount
        if S == 0:
            break

    print(*answers)


if __name__ == '__main__':
    main()