728x90
[백준알고리즘] 2875번: 대회 or 인턴 -Python
https://www.acmicpc.net/problem/2875
이번 문제는 간단하게 풀었다. 대회 팀의 수를 t라고 했을 때 대회에 참가하는 인원의 수는 2t + t = 3t 이다.
반대로 인턴에 참가해야하는 인원의 수는 N-2t + M-t >= K 를 만족해야 한다.
하지만 저 식을 그대로 이용하게 되면 틀린 문제가 된다. 위의 부등식을 풀어쓰면 t <= (N+M-K)/3 이 된다. 이 부등식은 주어진 입력이 3 0 0 일 때, 답은 대회에 참가할 남자 인원이 없어서 0이 되어야 하지만, 1을 출력하게 된다.
따라서 대회에 참가할 수 있는 최대 팀의 개수를 구한 뒤에 인턴에 참가하는 인원이 K명 이상이 될 때를 선택해주도록 했다.
1
2
3
4
5
6
7
8
9
10
|
import sys
n, m, k = map(int, sys.stdin.readline().split())
max_t = min(n//2, m)
ans = 0
for t in range(max_t, -1, -1):
if n - 2*t + m - t >= k:
ans = t
break
sys.stdout.write(str(ans))
|
잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다
728x90
'algorithm > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] 1783번: 병든 나이트 -Python (0) | 2020.03.06 |
---|---|
[백준알고리즘] 10610번: 30 -Python (0) | 2020.03.06 |
[백준알고리즘] 2261번: 가장 가까운 두 점 -Python (0) | 2020.03.06 |
[백준알고리즘] 1517번: 버블 소트 -Python (0) | 2020.03.04 |
[백준알고리즘] 2448번: 별 찍기 - 11 -Python (0) | 2020.03.04 |