코드포스(CodeForce)
Codeforces Round #469 (Div. 2) - A. Left-handers, Right-handers and Ambidexters
cepiloth
2018. 8. 17. 17:41
반응형
1. 문제
2. 알고리즘
키워드 - 구현
* 어설픈 해석
너는 수중 볼링 연습을 하고 있다.
그들 자신에 왼쪽 손만 사용하는 사람, 오른 쪽만 사용하는 사람 둘다 사용 할수 있는 ambidexters 가 l 명이 있다.
코치는 짝 수 명의 사람으로 팀을 구성하기로 결정 했다.
정확히 절반이 왼손을 사용해야 하고 또 절반이 오른손을 사용해야 한다.
ambidexters 는 왼손 오른손을 사용할 수 있다.
팀을 구성할수 있는 최대의 수를 출력하라.
* 문제 풀이
제약 사항으로 left, right 중 하나라도 0 이면 팀을 구성할 수 없다.
left, right 의 비율을 ambidexter 의 값으로 맞춘다.
left, right 의 값중 최소 값이 팀을 구성할 수 있는 가장 큰 단위가 된다.
문제에서 2인이 1팀으로 정의되니 left, right 의 최소 값에 2를 곱셈을 하면 최대 수를 알 수 있다.
3. 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <iostream> #include <vector> #include <algorithm> #include <functional> #include <string> using namespace std; int main() { int left, right, am; cin >> left >> right >> am; // left, right 의 비율 조정 while (am > 0) { if (left > right) right++; else left++; am--; } int sol = min(left, right) * 2; cout << sol << endl; return 0; } | cs |
반응형