11pts什么鬼,求调,悬棺
查看原帖
11pts什么鬼,求调,悬棺
1052499
Em0ty楼主2024/10/22 18:47
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n;
/*¿ì¶Á¿ìд*/
inline ll rd(){
	ll res=0;
	char c=getchar();
	bool fg=false;
	if(c=='-'){
		fg=true;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		res=res*10+c-'0';
		c=getchar();
	}
	if(fg==true){
		return -res;
	}
	return res;
} 
int buf[40];
inline void wt(ll x){
	int p=0;
	bool fl=false;
	if(x<0){
		fl=true;
	}
	if(x==0) p++;
	else{
		while(x){
			buf[p++]=x%10;
			x/=10;
		}
	}
	if(fl){
		putchar('-');
	}
	for(int j=p-1;j>=0;j--){
		putchar('0'+buf[j]);
	}
}
/*¿ì¶Á¿ìд*/
ll a[1010][1010];
ll dp[1010][1010];
int main(){
	n=rd();
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<=i;j++){
			a[i][j]=rd();
		}
	}
	for(ll i=1;i<=n;i++){
		dp[i][1]=dp[i-1][1]+a[i][1];
	}
	for(ll i=1;i<=n;i++){
		dp[i][i]=dp[i-1][i-1]+a[i][i];
	}
	for(ll i=1;i<=n;i++){
		for(ll j=1;j<i;j++){
			dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+a[i][j];
		}
	}
	ll ans=0;
	for(ll i=1;i<=n;i++){
		ans=max(ans,dp[n][i]);
	}
	wt(ans);
	return 0;
}

2024/10/22 18:47
加载中...