목록백준 (51)
안선생의 개발 블로그
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 29 #include #include #include #include using namespace std; int main() { int n; cin >> n; vector aa(18); vector dp(n + 20,0); for (int i = 1; i > aa[i].first >> aa[i].second; } int result = 0; for (int i = n; i >= 1; i--) { if (aa[i].first + i > n + 1) dp[i] = dp[i + 1]; else dp[i] = max(dp[i + 1], aa[i].second + dp[i + a..
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 29 30 #include #include #include #include using namespace std; int main() { int n; cin >> n; vector dp(n+1, vector(n+1, 0)); for (int i = 1; i dp[i][j]; int result = dp[1][0]; for(int i=2;i
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #include #include #include #include using namespace std; int main() { int n; cin >> n; vector home(n + 2); vector dp(n+2, vector(n+2, 0)); for (int i = 1; i a; home[i].push_back(a); } } dp[1][0] = home[1][0]; dp[1][1] = home[1][1]; dp[1][2] = home[1][2]; for (int i ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include #include #include using namespace std; int main() { int n; cin >> n; int dp[1001] = { 0 }; dp[1] = 1 %10007; dp[2] = 2 % 10007; for (int i = 3; i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pddp7/btr42yrVibV/0rSgin8ZKUrcLCvXH5lkpk/img.png)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include #include #include #include using namespace std; int main() { int n; cin >> n; int dp[10001] = {}; dp[1] = 1; dp[2] = 1; for (int i = 3; i
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 29 30 #include #include #include #include #include using namespace std; int main() { int n; cin >> n; vector s; while (n--) { string s1; cin >> s1; s.push_back(s1); } for (int i = 0; i
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 29 30 #include #include #include #include using namespace std; #define MAX 100001 int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; vector arr; for (int i = 0; i > input; arr.push_back(input); } int dpm = arr[0]; for (int i = 1; i dpm) dpm = arr[i]; } cout
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include #include #include using namespace std; int arr[40] = { 0 }; int fibo(int n[],int k) { n[0] = 1; n[1] = 1; for (int i = 2; i > n; cout
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #include #include #include using namespace std; long long int n, m; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); vector arr; int input; cin >> n; for (int i = 0; i > input; arr.push_back(input); } long long int start = 0; long long int e..
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 #include #include #include using namespace std; int arr[100001]; int n, m; void binaryserach(int key) { int start = 0; int end = n - 1; int mid; while (end - start >= 0) { mid = (end + start)/2; if (arr[mid] == key) { cout