알고리즘

[알고리즘] 백준 2875 - 대회 or 인턴

j9972 2022. 7. 23. 20:14
728x90

문제

백준 2875번

접근

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)