그리디 알고리즘 문제이다.
2명의 여학생과 1명의 남학생이 팀을 결성한다.
전체 인원 - 3명(팀원수)
한 뒤 인턴을 보낼 K
명이 남아 있는지위의 조건들을 살피며 팀을 만들때 여학생 2명 남학생 1명씩 줄여나가며 정답을 도출한다.
public class bj2875 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
String[] split = line.split(" ");
int N = Integer.parseInt(split[0]);
int M = Integer.parseInt(split[1]);
int K = Integer.parseInt(split[2]);
int answer = 0;
// 2명의 여학생과 1명의 남학생이 팀을 결성
// 현재 여학생이 2명 이상이고 남학생이 1명 이상이여서 한팀을 결성할 수 있다
// 이때 팀을 결성하면 총 인원에서 3명이 빠지고 또한 K명을 또 빼야한다
// 즉, 총 인원에서 K명을 인턴에 보내고 나머지 인원들 중
// 3명으로 팀을 만들 수 있는지 확인
while (N >= 2 && M >= 1 && (N + M) - K >= 3) {
answer++;
N -= 2;
M--;
}
System.out.println(answer);
br.close();
}
}