记录编号 | 112179 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [IOI 1994] 数塔 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.011 s | ||
提交时间 | 2014-07-15 09:20:51 | 内存使用 | 0.62 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; }//max int main() { int f[81][81],a[81][81],x[100001],ans=1,n,d=0; fin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { fin>>f[i][j]; a[i][j]=f[i][j]; } } for(int i=2;i<=n;i++) { for(int j=1;j<=i;j++) { f[i][j]=(max(f[i-1][j-1],f[i-1][j])+a[i][j]); } } for(int j=1;j<=n;j++) { if(f[n][j]>d) d=f[n][j]; } fout<<d<<endl; for(int i=n;i>=1;i--) { for(int j=1;j<=i;j++) { if(f[i][j]==d) { x[ans]=a[i][j]; d-=a[i][j]; ans++; } } } for(int i=ans-1;i>=1;i--) fout<<x[i]<<' '; fin.close(); fout.close(); return 0; }