문제
백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)
백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.
백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.
여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.
입력
첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),
출력
만들 수 있는 팀의 최대 개수을 출력하면 된다.
풀이
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, m, k, res; //여학생, 남학생, 인턴쉽 참가학생
cin >> n >> m >> k;
res = min(n / 2, m);
res = min(res, (n + m - k) / 3);
cout << res;
}
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준 2399번] 거리의 합 / C++ (0) | 2020.08.04 |
---|---|
[백준 3047번] ABC / Python (0) | 2020.08.03 |
[백준 1120번] 문자열 / C++ (0) | 2020.07.31 |
[백준 5585번] 거스름돈 / C++ (0) | 2020.07.31 |
[백준 11047번] 동전 0 / C++ (0) | 2020.07.31 |