# DP
#include <iostream> using namespace std; int n,m,s,f,dp[105][1005]; int main(void) { scanf("%d%d%d", &n, &s, &f); dp[0][s] = 1; for (int i = 0; i < n; i++) { scanf("%d", &m); for (int k = 0; k <= f; k++) if (dp[i][k] == 1) { if (0 <= k + m&&k + m <= f) dp[i + 1][k + m] = 1; if (0 <= k - m&&k - m <= f) dp[i + 1][k - m] = 1; } } m = -1; for (int i = f; 0<=i; i--) if (dp[n][i] == 1) { m = i; break; } printf("%d", m); return 0; }
'IT > BOJ' 카테고리의 다른 글
백준(BOJ) 15803 PLAYERJINAH’S BOTTLEGROUNDS * (0) | 2018.06.16 |
---|---|
백준(BOJ) 15805 영우의 기숙사 청소 ** (0) | 2018.06.16 |
백준(BOJ) 15805 트리 나라 관광 가이드 ** (0) | 2018.06.15 |
백준(BOJ) 15804 저거 못타면 지각이야!! ** (0) | 2018.06.15 |
백준(BOJ) 1572 중앙값 *** (0) | 2018.06.13 |