<8-1> 탐색범위 한정 - 다양한 색상의 상자와 공 (ColorfulBoxesAndBalls)
PS/Topcoder training2018. 7. 14. 23:47
### SRM 464 Div2 Level 1 ###
<소스코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <algorithm> using namespace std; class ColorfulBoxesAndBalls { public: int getMaximum(int numRed, int numBlue, int onlyRed, int onlyBlue, int bothColors) { int ans=0; int minCnt = min(numRed, numBlue); ans = max(onlyRed+onlyBlue, bothColors*2) * minCnt; ans += ((numRed-minCnt) * onlyRed); ans += ((numBlue-minCnt) * onlyBlue); return ans; } }; | cs |
>> 둘중 적은 것의 갯수만큼 섞을 수 있다. 그래서 그 최소개를 제대로 넣은 경우와 섞은 경우중 최대값이 정답이 된다.
>> 나머지에서는 자기 박스에 자기 공을 넣을 것이기 때문에 그 값을 더해주면 된다.
'PS > Topcoder training' 카테고리의 다른 글
<8-8> 수학 - 둥근 모양의 국가들 (CirclesCountry) (0) | 2018.07.16 |
---|---|
<8-4> 그리디 - 배치 시스템 (BatchSystem) (0) | 2018.07.16 |
<7-5> DP - 악수 (HandShaking) (0) | 2018.07.04 |
<5-7> 전체탐색 - 고장난 로봇 (CrazyBot) (0) | 2018.07.03 |
<5-4> 전체탐색 - 회문 (ThePalindrome) (0) | 2018.07.01 |