시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB106225621729.767%

문제

모두가 짜장면과 짬뽕을 외칠 때 어떤 사람들은 볶음밥을 원한다. 하지만 지금 주문할 음식점에서는 같은 메뉴 $D$개당 군만두 서비스를 주므로, 짜장면이나 짬뽕을 시키면 더 받을 수 있는 군만두를 볶음밥을 시켰다가 받지 못하게 되면 불만이다. 현재 $N$명이 짜장면, $M$명이 짬뽕을 이미 주문하였다. 남은 $K$명이 짜장면, 짬뽕, 볶음밥 중 하나를 주문할 수 있을 때 전체 $N+M+K$명이 받는 군만두의 개수를 최대로 하며 시킬 수 있는 볶음밥의 최대 개수는 몇 개인가?

입력

첫 번째 줄에는 군만두 서비스를 제공하는 주문 수 $D (1 \leq D \leq 10^{18})$가 주어진다.

두 번째 줄에는 짜장면, 짬뽕을 시킨 사람의 수 $N, M$과 남은 사람의 수 $K$가 주어진다 $(1 \leq N, M, K \leq 10^{18})$.

출력

군만두를 가장 많이 받을 수 있으면서 주문할 수 있는 볶음밥의 최대 개수를 출력해라. 입력되는 정수의 범위가 넓어 32비트 정수형으로 처리할 수 없음에 유의하라.

예제 입력 1

3
2 4 10

예제 출력 1

9

힌트

모든 경우를 고려해볼 때 최대로 받을 수 있는 군만두의 개수는 5개이므로 5개를 받을 수 있도록 주문해야 한다. 볶음밥 10개를 추가로 주문하면 군만두를 0 + 1 + 3 = 4개 받을 수 있으므로 적합하지 않고, 볶음밥 9개와 짜장면 1개를 추가로 주문하면 군만두를 1 + 1 + 3 = 5개 받을 수 있어 최대로 주문할 수 있는 볶음밥은 9개이다.

출처

University > POSTECH > 2021 POSTECH Programming Contest B번