상세 컨텐츠

본문 제목

[BOJ] 2875 (C++)

PROGRAMMING/Algorithm

by koharin 2024. 2. 25. 14:19

본문

728x90
반응형
#include<iostream>
#include<algorithm>
using namespace std;

int main(){
    int N,M,K;

    cin >> N >> M >> K;

    int team = min(N/2, M); // 최대 팀 수
    int result = min(team, (N+M-K)/3); // 대회 보낼 인원 뺐을 때 

    printf("%d\n", result);
    

    return 0;
}

그리디 알고리즘 사용.

일단, 대회에 보내야 하는 인원 상관없이 최대로 만들 수 있는 팀 수를 구하기 위해 여학생 2명, 남학생 1명이므로, min(N/2, M)을 구한다.

이후, 인턴십 보내야 하는 인원 K명을 빼고도 3명으로 팀을 만들었을 때 가능한 팀수를 구하고, 이를 이전에 구한 대회에 보내야 하는 인원 상관없이 최대로 만들 수 있는 팀 수와 비교해서 min을 출력한다.

728x90
반응형

관련글 더보기