Informatica Online Judge

  영화 티켓 구매 [0867 / 0363]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 100   Total Tried : 622


The Champion of this Problem (C++) : whiteedu - ms / 316byte
My Best Submission (C++) : N/A

[]

Background

경곽이는 영화 티켓 판매 아르바이트 자리를 얻었다.

이번 개봉작은 너무 인기가 많아서 엄청나게 많은 사람들이 영화를 보기 위해 줄을 서 있다.

줄을 서 있는 n명의 사람들은 각각 100, 50, 25원 짜리 동전 중 하나씩을 가지고 있다고 한다.

영화 티켓의 가격은 정확하게 25원이다.

경곽이는 처음에 돈을 전혀 가지고 있지 않다. 경곽이는 줄을 서 있는 사람들로부터 영화티켓 값을 받고 만약 50원 이나 100원으로 티켓을 사는 사람들에게는 거스름돈을 남겨 주어야 한다.

과연 모든 n명의 사람들에게 티켓을 팔 수 있을까? 이를 판단할 수 있는 프로그램을 작성하시오.

Input

첫 번째 줄에 관람객의 수 n이 주어진다.
다음 줄에 100, 50, 25 중의 한 값이 공백으로 구분되어 n개가 주어진다.

[입력값의 정의역]
$1 ≤ n ≤ 100 000$

Output

모든 사람에게 영화티켓을 판매할수 있다면 "YES", 아니면 "NO"를 출력한다.

IO Example

입력
4
25 25 50 50

출력
YES

* 처음 두 명은 그냥 받고 현재 25원짜리 2개가 있으므로 3, 4번 관람객에게 각 25원씩 나눠줄 수 있다.

입력2
2
25 100

출력2
NO

* 첫 번째 사람에게 25원을 받고 두 번째 사람에게 100원 받고 75원을 거스름돈으로 줘야 하나 줄 수 없으므로 불가능.

입력3
4
50 50 25 25

출력3
NO

* 첫 번째 사람부터 거스름돈을 줄 수 없으므로 불가능하다.

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]