Cod sursa(job #2054803)

Utilizator aturcsaTurcsa Alexandru aturcsa Data 2 noiembrie 2017 16:09:45
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
//#include <fstream>
//using namespace std;
//ifstream fin("matrice.in");
//ofstream fout("matrice.out");
//int a[1000][1000],dp[1000][1000],rez,n;
//int main()
//{
//    fin>>n;
//    for(int i=1;i<=n;i++)
//        for(int j=1;j<=i;j++)
//            fin>>a[i][j];
//    for(int i=1;i<=n;i++)
//        for(int j=1;j<=i;j++)
//        {
//
//            dp[i][j]=max(dp[i-1][j-1],dp[i-1][j]);
//            dp[i][j]+=a[i][j];
//        }
//    for(int i=1;i<=n;i++)
//    rez=max(rez,dp[n][i]);
//    for(int i=1;i<=n;i++)
//    {
//        for(int j=1;j<=i;j++)
//            fout<<dp[i][j]<<" ";
//        fout<<"\n";
//    }
//    fout<<rez;
//    return 0;
//}
#include <fstream>
using namespace std;
ifstream fin("matrice.in");
ofstream fout("matrice.out");
int x,dp[2][200000],rez,n,lac,lop;
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=i;j++)
        {
            fin>>x;
            lac=i%2;
            lop=1-lac;
            dp[lac][j]=max(dp[lop][j],dp[lop][j-1]);
            dp[lac][j]+=x;
        }
    for(int i=1;i<=n;i++)
        {fout<<dp[lac][i]<<" ";rez=max(rez,dp[lac][i]);}
    fout<<rez;
    return 0;
}