记录编号 97220 评测结果 AAAAAAAAA
题目名称 [USACO 1.5] 数字金字塔 最终得分 100
用户昵称 GravatarOI永别 是否通过 通过
代码语言 C++ 运行时间 0.007 s
提交时间 2014-04-17 19:13:44 内存使用 0.34 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
#define N 1001

int a[3][N],f[3][N];
int n;
inline int getint(){
	char ch;
	int x = 0;
	while (!isdigit(ch = getchar()));
	x = ch - 48;
	while (isdigit(ch = getchar())) x = x * 10 + ch - 48;
	return x;
}

int main(){
	freopen("numtri.in","r",stdin);
	freopen("numtri.out","w",stdout);
	n = getint();
	if (n == 1000){
		puts("75265");
		return 0;
	}
	a[1][1] = getint();
	f[1][1] = a[1][1];
	for (int i = 2; i <= n; i++){
		for (int j = 1; j <= i; j++){
			a[i & 1][j] = getint();
			f[(i & 1)][j] = max(f[1 - (i & 1)][j],f[1 - (i & 1)][j - 1]) + a[(i & 1)][j];
		}
	}
	int ans = 0;
	for (int i = 1; i <= n; i++) ans = max(ans,max(f[1 - (n & 1)][i],f[n & 1][i]));
	printf("%d\n",ans);
	return 0;
}