알고리즘
[알고리즘] 백준 2875 - 대회 or 인턴
j9972
2022. 7. 23. 20:14
728x90
문제
접근
1. n과 m을 각자 2:1비율로 보면 너무나 많은 처리를 해줘야 한다
2. n+m-k를 total 이라고 보고 total을 total%3을 빼주고 그 값을 3을 목을 구하는데, 각각 보고 하기보다는 통합해서 수를 보고 알아서 나누는것에 대해서 생각하기
3. n//2 or m 값이 최대 팀 개수가 되는데 이것이 2번에서 하는 값보다 작을 때의 예외만 처리해주면 된다
풀이
import sys
input = sys.stdin.readline
n, m, k = map(int, input().split())
# 대회 남1 여2 , 인턴쉽 k 명
total = n + m - k
teamCount = (total - (total % 3))//3
if n//2 < teamCount or m < teamCount:
if n//2 > m:
print(m)
else:
print(n//2)
else:
print(teamCount)