最快的

今天我写了最快的算法
#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;
}

浙公网安备 33010602011771号