PS/Baekjoon Online Judge

[백준 02875] 대회 or 인턴 [Java]

kimyoungrok 2023. 11. 9. 09:54
728x90

문제

백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)

백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.

백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.

여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.

입력

첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),

출력

만들 수 있는 팀의 최대 개수을 출력하면 된다.


풀이

(N+M)의 인원에서 K명을 제외한 인원에 대해 N / 2 >= M 이 성립하는 팀의 최대 개수를 구하는 문제다.

결국 K명을 제외한 후 최대 팀의 수를 구해야 한다.

 

팀을 결성할 수 있는 조건( N / 2 >= M )에 따라 N 또는 M을 번갈아 감소시켜주자. 

K명을 감소시킨 후 N / 2 >= M이 성립하지 않을 수 있다. 따라서 N / 2와 M 중 최솟값을 출력해야 한다.


소스코드

보기


출처

 

2875번: 대회 or 인턴

첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),

www.acmicpc.net

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 01308] D-Day [Java]  (1) 2023.11.11
[백준 02903] 중앙 이동 알고리즘 [Java]  (0) 2023.11.11
[백준 01321] 군인 [Java]  (1) 2023.11.08
[백준 02863] 이게 분수? [Java]  (0) 2023.11.08
[백준 01049] 기타줄 [Java]  (0) 2023.11.04