3 条题解

  • 1
    @ 2024-11-23 13:17:41
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N=1e4+5;
    int n,k,ans;
    int a[10][N];
    int f[10][N];
    signed main(){
    	cin>>n;
    	for(int i=1;i<=5;i++){
    		for(int j=1;j<=n;j++){
    			cin>>a[i][j];
    		} 
    	}
    	f[3][1]=a[3][1]; 
    	a[1][1]=a[2][1]=a[4][1]=a[5][1]=a[1][2]=a[5][2]=0;	
    	
    	for(int i=1;i<=5;i++) f[i][1]=0;
    	
    	for(int i=2;i<=n;i++){
    		f[1][i]=max(f[1][i-1],f[2][i-1])+a[1][i];
    		f[5][i]=max(f[5][i-1],f[4][i-1])+a[5][i];
    		for(int j=2;j<=4;j++){
    			f[j][i]=max(max(f[j][i-1],f[j-1][i-1]),f[j+1][i-1])+a[j][i];
    		}
    	}
    	ans=0;
    	for(int i=1;i<=5;i++) ans=max(ans,f[i][n]);
    	cout<<ans;
    	return 0;
    }
    

    数组开爆了我哭死QAQ

    信息

    ID
    950
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    90
    已通过
    16
    上传者