Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <climits>
- using namespace std;
- ifstream fin("livada_xi.in");
- ofstream fout("livada_xi.out");
- int main()
- {
- int n,a[105][105],dp[105][105],rez=INT_MAX;
- fin >> n;
- for (int i=1;i<=n;i++)
- {
- for (int j=1;j<=i;j++)
- {
- fin >> a[i][j];
- }
- }
- dp[n][1]=a[n][1];
- for (int j=2;j<=n;j++)
- {
- dp[n][j]=dp[n][j-1]+a[n][j];
- }
- for (int i=n-1;i>=1;i--)
- {
- dp[i][1]=dp[i+1][1]+a[i][1];
- }
- for (int i=n-1;i>=2;i--)
- {
- for (int j=2;j<=i;j++)
- {
- dp[i][j]=min(dp[i][j-1],dp[i+1][j])+a[i][j];
- }
- }
- for (int i=1;i<=n;i++)
- {
- if (dp[i][i]<rez) rez=dp[i][i];
- }
- fout << rez;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment