GitHubSeob
C++ / 백준 / 2875 / 대회 or 인턴 본문
문제
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 |