結果
問題 | No.497 入れ子の箱 |
ユーザー |
![]() |
提出日時 | 2017-11-30 02:32:29 |
言語 | D (dmd 2.109.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 755 bytes |
コンパイル時間 | 998 ms |
コンパイル使用メモリ | 117,492 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-12 22:43:21 |
合計ジャッジ時間 | 2,380 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 WA * 8 |
ソースコード
void main(){import std.stdio, std.string, std.conv, std.algorithm;import std.typecons;int n; rd(n);alias T=Tuple!(int, "x", int, "y", int, "z");auto bs=new T[](n);foreach(i; 0..n){auto xyz=readln.split.to!(int[]);sort(xyz);bs[i]=T(xyz[0], xyz[1], xyz[2]);}sort(bs);auto rec=new int[](n);rec[0]=1;foreach(i; 1..n)foreach(j; 0..i){bool ok=bs[i].x>bs[j].x;ok&=bs[i].y>bs[j].y;ok&=bs[i].z>bs[j].z;if(ok) chmax(rec[i], rec[j]+1);}writeln(reduce!(max)(rec));}void chmax(T)(ref T x, T y){if(x<y) x=y;}void rd(T...)(ref T x){import std.stdio, std.string, std.conv;auto l=readln.split;assert(l.length==x.length);foreach(i, ref e; x){e=l[i].to!(typeof(e));}}