最快的

今天我写了最快的算法

#include<fstream>
using namespace std;
int main()
{
ifstream fin("numtri.in");
ofstream fout("numtri.out");
int h,tr[1000000],l=0;
fin>>h;
while(fin>>tr[++l]);//从tr[1]开始存放
l=2;
for(int i=1;i<h;i++)//层次
for(int j=0;j<=i;j++)//每层从第零个到最后一个
{
if(j==0)
tr[l]+=tr[l-i];
else if(j==i)
tr[l]+=tr[l-i-1];
else
tr[l]+=tr[l-i]>tr[l-i-1]?tr[l-i]:tr[l-i-1];
l++;
}
int s=0;
for(int i=l-h;i<l;i++)
if(tr[i]>s)s=tr[i];
fout<<s<<endl;
return 0;
}

 

posted @ 2012-03-11 17:06  无殇天下  阅读(245)  评论(0)    收藏  举报