250 : 그리디하게 풀린다. 밑에서부터 올라오면서 누적하고 음수되면 버리면 됨.
900 : D(i, j) : i번 가방에서는 점수 k인 카드를 쓸 때에 다른 가방에서 점수 j인 카드를 써서 좋은 수가 되는 경우의 수라 정의하자.
D(i, j) = Sigma[Count(i, k) * (isGood(j+k)=='Y')]
그러면 i < j일 때에 ans(i, j) = Sigma[D(i, k) * Count(j, k)].
'Problem Solving > Topcoder' 카테고리의 다른 글
SRM 330 Div.1 (0) | 2016.04.21 |
---|---|
SRM 683 Div.1 (0) | 2016.03.07 |
SRM 682 Div.1 (0) | 2016.02.23 |
SRM 681 Div.1 (0) | 2016.02.19 |
TesterDream: A TopCoder Arena Plugin (0) | 2016.01.02 |
댓글