1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | -module(prog). -export([main/0]). msort(Xs) -> mergesort(fun(X,Y) -> X < Y end,Xs). halves(XS) -> split(XS,XS). split([X|Xs],[_,_|Zs]) -> {Us,Vs} = split(Xs,Zs), {[X|Us],Vs}; split(Xs,_) -> {[],Xs}. merge(_,Xs,[]) -> Xs; merge(_,[],Ys) -> Ys; merge(Pred,[X|Xs],[Y|Ys]) -> case Pred(X,Y) of true -> [X|merge(Pred,Xs,[Y|Ys])]; false -> [Y|merge(Pred,[X|Xs],Ys)] end. mergesort(_,[]) -> []; mergesort(_,[X]) -> [X]; mergesort(Pred,[X,Y]) -> case Pred(X,Y) of true -> [X,Y]; false -> [Y,X] end; mergesort(Pred,Xs) -> {Ys,Zs} = halves(Xs), merge(Pred,mergesort(Pred,Ys),mergesort(Pred,Zs)). main() -> io:format("~p",[hd(msort(lists:seq(1000,-1000,-1)))]). |
LW1vZHVsZShwcm9nKS4KLWV4cG9ydChbbWFpbi8wXSkuCgptc29ydChYcykgLT4gbWVyZ2Vzb3J0KGZ1bihYLFkpIC0+IFggPCBZIGVuZCxYcykuCgpoYWx2ZXMoWFMpIC0+IHNwbGl0KFhTLFhTKS4Kc3BsaXQoW1h8WHNdLFtfLF98WnNdKSAtPgogICAge1VzLFZzfSA9IHNwbGl0KFhzLFpzKSwKICAgIHtbWHxVc10sVnN9OwpzcGxpdChYcyxfKSAtPiB7W10sWHN9LgoKbWVyZ2UoXyxYcyxbXSkgLT4gWHM7Cm1lcmdlKF8sW10sWXMpIC0+IFlzOwptZXJnZShQcmVkLFtYfFhzXSxbWXxZc10pIC0+CiAgICBjYXNlIFByZWQoWCxZKSBvZgogICAgICAgIHRydWUgIC0+IFtYfG1lcmdlKFByZWQsWHMsW1l8WXNdKV07CglmYWxzZSAtPiBbWXxtZXJnZShQcmVkLFtYfFhzXSxZcyldCiAgICBlbmQuCgptZXJnZXNvcnQoXyxbXSkgLT4gW107Cm1lcmdlc29ydChfLFtYXSkgLT4gW1hdOwptZXJnZXNvcnQoUHJlZCxbWCxZXSkgLT4KICAgIGNhc2UgUHJlZChYLFkpIG9mCiAgICAgICAgdHJ1ZSAtPiBbWCxZXTsKCWZhbHNlIC0+IFtZLFhdCiAgICBlbmQ7Cm1lcmdlc29ydChQcmVkLFhzKSAtPiAKICAgIHtZcyxac30gPSBoYWx2ZXMoWHMpLAogICAgbWVyZ2UoUHJlZCxtZXJnZXNvcnQoUHJlZCxZcyksbWVyZ2Vzb3J0KFByZWQsWnMpKS4KCm1haW4oKSAtPiAKICAgIGlvOmZvcm1hdCgifnAiLFtoZChtc29ydChsaXN0czpzZXEoMTAwMCwtMTAwMCwtMSkpKV0pLg==
-
upload with new input
-
結果: Success time: 0.22s 記憶體: 8448 kB 回傳值: 0
-1000
-
結果: Success time: 0.21s 記憶體: 8448 kB 回傳值: 0
-1000



