BOJ 1932
μ μ μΌκ°ν μ±κ³΅λ€κ΅μ΄
2 μ΄ 128 MB 68692 38901 29257 58.860% λ¬Έμ
7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
μ κ·Έλ¦Όμ ν¬κΈ°κ° 5μΈ μ μ μΌκ°νμ ν λͺ¨μ΅μ΄λ€.
맨 μμΈ΅ 7λΆν° μμν΄μ μλμ μλ μ μ€ νλλ₯Ό μ ννμ¬ μλμΈ΅μΌλ‘ λ΄λ €μ¬ λ, μ΄μ κΉμ§ μ νλ μμ ν©μ΄ μ΅λκ° λλ κ²½λ‘λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νλΌ. μλμΈ΅μ μλ μλ νμ¬ μΈ΅μμ μ νλ μμ λκ°μ μΌμͺ½ λλ λκ°μ μ€λ₯Έμͺ½μ μλ κ² μ€μμλ§ μ νν μ μλ€.
μΌκ°νμ ν¬κΈ°λ 1 μ΄μ 500 μ΄νμ΄λ€. μΌκ°νμ μ΄λ£¨κ³ μλ κ° μλ λͺ¨λ μ μμ΄λ©°, λ²μλ 0 μ΄μ 9999 μ΄νμ΄λ€.
μ λ ₯
첫째 μ€μ μΌκ°νμ ν¬κΈ° n(1 ≤ n ≤ 500)μ΄ μ£Όμ΄μ§κ³ , λμ§Έ μ€λΆν° n+1λ²μ§Έ μ€κΉμ§ μ μ μΌκ°νμ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ ν©μ΄ μ΅λκ° λλ κ²½λ‘μ μλ μμ ν©μ μΆλ ₯νλ€.
μμ μ λ ₯ 1 볡μ¬
5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
μμ μΆλ ₯ 1 볡μ¬
30β
DP κΈ°λ³Ένμ΄λ€.
κ·Έλ₯ μμκΊΌ λκ° λΉκ΅ν΄μ ν΄μ£Όλ©΄ λλ€.
#include <iostream>
using namespace std;
int N, arr[501][501], ans;
int main(){
cin>>N;
for(int i=1; i<=N; i++){
for(int j=1; j<=i; j++){
cin>>arr[i][j];
arr[i][j] += max(arr[i-1][j], arr[i-1][j-1]);
}
}
for(int i=1; i<=N; i++){
ans = max(arr[N][i], ans);
}
cout<<ans;
}