GitHubSeob

C++ / 백준 / 2875 / 대회 or 인턴 본문

Baekjoon/Bronze

C++ / 백준 / 2875 / 대회 or 인턴

GitHubSeob 2021. 9. 2.

문제

https://www.acmicpc.net/problem/2875

 

2875번: 대회 or 인턴

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

www.acmicpc.net

문제풀이

먼저 구성할 수 있는 팀의 수를 구한다.

여학생을 2로 나눈 몫 or 남학생 수 중 적은 수가 팀의 수가 된다.

하지만 인턴쉽에 참여하는 학생도 따로 있어야 한다.

그러므로 팀을 못 꾸린 혼자 남은 학생들의 수를 구한다.

인턴쉽에 참여해야 하는 수 - 혼자 남은 학생수를 하고, 그 값이 0 이하라면 혼자 남아있는 학생들만으로도 인턴쉽에 나갈 수 있으므로 팀의 수를 출력한다.

그 값이 0보다 크다면 팀 수 - K/3을 올림 한 값을 하여 출력한다.

K는 int로 선언하였으므로 K에 +2를 하여 올림의 역할을 수행한다.

 

코드

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int N = 0, M = 0, K = 0;	
	cin >> N >> M >> K;

	int team = min(N / 2, M);
	int alone = N + M - (3 * team);
	
	K -= alone;
	
	if (K < 0) 	cout << team;	
	else cout << team - (K + 2) / 3;
}

'Baekjoon > Bronze' 카테고리의 다른 글

C++ / 백준 / 14726 / 신용카드 판별  (0) 2021.10.03
C++ / 백준 / 13419 / 탕수육  (0) 2021.10.03