记录编号 |
64935 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[IOI 1994] 数塔 |
最终得分 |
100 |
用户昵称 |
raywzy |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2013-07-24 21:08:43 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("shuta.in");
ofstream fout("shuta.out");
int max(int x,int y)
{
if(x>=y)
return x;
else
return y;
}
int main()
{
int f[81][81];
int a[81][81];
int i,j;
int X[10000];
int Q=1;
int n;
int d=0;
fin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
{
fin>>f[i][j];
a[i][j]=f[i][j];
}
for(i=2;i<=n;i++)
for(j=1;j<=i;j++)
f[i][j]=(max(f[i-1][j-1],f[i-1][j])+a[i][j]);
for(j=1;j<=n;j++)
if(f[n][j]>d)
d=f[n][j];
fout<<d<<endl;
for(i=n;i>=1;i--)
for(j=1;j<=i;j++)
if(f[i][j]==d)
{
X[Q]=a[i][j];
d=d-a[i][j];
Q++;
}
for(i=Q-1;i>=1;i--)
fout<<X[i]<<' ';
return 0;
}