본문 바로가기
코테 기록

백준 2875번 대회 or 인턴 자바 풀이

by 배성인 2022. 12. 26.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
/*
대회 or 인턴 다국어
시간 제한  메모리 제한 제출 정답 맞힌 사람  정답 비율
1 초    128 MB 23407  10177  8576   43.399%
문제
백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)

백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.

백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.

여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.

입력
첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),

출력
만들 수 있는 팀의 최대 개수을 출력하면 된다.

예제 입력 1
6 3 2
예제 출력 1
2
예제 입력 2
2 1 1
예제 출력 2
0
예제 입력 3
6 10 3
예제 출력 3
3
출처
Contest > Croatian Open Competition in Informatics > COCI 2010/2011 > Contest #1 1번

문제를 번역한 사람: pl0892029
문제의 오타를 찾은 사람: Rche
알고리즘 분류
보기

메모
* */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        String s = bufferedReader.readLine().trim();
        String[] strings = s.split(" ");
        int n = Integer.parseInt(strings[0]);
        int m = Integer.parseInt(strings[1]);
        int k = Integer.parseInt(strings[2]);
        int result = 0;

        while (n>=2 && m >= 1 && n + m - k >= 3) { //남학생이나 여학생 둘 다 더해서 어디서든 빼도 3보다(한팀 최소조건) 클 때까지 반복
            n = n - 2;
            m = m - 1;
            result += 1;
        }

        System.out.println(result);
    }
}