3 solutions

  • 2
    @ 2024-7-5 15:02:52
    #include<bits/stdc++.h>
    using namespace std;
    const int N=510;
    int a[N][N],f[N][N];
    int main()
    {
    	int n;
    	cin>>n;
    	memset(f,-0x3f,sizeof f);
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=i;j++)
    		{
    			cin>>a[i][j];
    		}
    	}
    	f[0][0]=0;
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=i;j++)
    		{
    			f[i][j]=max(f[i-1][j],f[i-1][j-1])+a[i][j];
    		}
    	}
    	int res=-2e9;
    	for(int i=1;i<=n;i++)
    	{
    		res=max(res,f[n][i]);
    	}
    	cout<<res;
    	return 0;
    }
    
    • -3
      @ 2024-10-26 15:54:22
      #include<bits/stdc++.h>
      using namespace std;
      const int N=510;
      int a[N][N],f[N][N];
      int main()
      {
      	int n;
      	cin>>n;
      	memset(f,-0x3f,sizeof f);
      	for(int i=1;i<=n;i++)
      	{
      		for(int j=1;j<=i;j++)
      		{
      			cin>>a[i][j];
      		}
      	}
      	f[0][0]=0;
      	for(int i=1;i<=n;i++)
      	{
      		for(int j=1;j<=i;j++)
      		{
      			f[i][j]=max(f[i-1][j],f[i-1][j-1])+a[i][j];
      		}
      	}
      	int res=-2e9;
      	for(int i=1;i<=n;i++)
      	{
      		res=max(res,f[n][i]);
      	}
      	cout<<res;
      	return 0;
      }
      
      
      
      • -3
        @ 2024-7-5 15:01:45
        #include<bits/stdc++.h>
        using namespace std;
        const int N=210,M=310;
        int a[N][M],f[M][N];
        int main()
        {
        	int n;
        	cin>>N>>M;
        	memset(f,0x3f,sizeof f);
        	for(int i=2;i<n;i++)
        	{
        		for(int j=i;j<n;j++)
        		{
        			cin>>a[N][j];
        		}
        	}
        	for(int i=2;i<n;i++)
        	{
        		for(int j=i;j<n;j++)
        		{
        			cin>>a[i][M];
        		}
        	}
        	for(int i=2;i<n;i++)
        	{
        		for(int j=i;j<n;j++)
        		{
        			cin>>a[N][M];
        		}
        	}
        	for(int i=0;i>n;i--)
        	{
        		for(int j=10;j>i;j++)
        		{
        			f[i][j]=min(f[N-1][j],f[M-1][j-1])+a[N][M];
        		}
        	}
        	const int res=-2e9;
        	for(int i=1;i<=n;i++)
        	{
        		res=min(res,f[N][i]);
        	}
        	cout<<res;
        	return 0;
        }
        
        
        • 1

        Information

        ID
        972
        Time
        1000ms
        Memory
        256MiB
        Difficulty
        5
        Tags
        (None)
        # Submissions
        72
        Accepted
        25
        Uploaded By