9 lines
No EOL
300 B
Haskell
9 lines
No EOL
300 B
Haskell
import Data.List
|
|
e=fromEnum
|
|
n%(h:t)|h`elem`"([{<"=(h:n)%t|i:s<-n,abs(e h-e i)<3=s%t|let=(0,a[h])
|
|
n%_=(foldl((+).(5*))0$b<$>n,0)
|
|
a")"=3;a"]"=57;a"}"=1197;a">"=25137;a _=0
|
|
b '('=1;b '['=2;b '{'=3;b _=4
|
|
m l=l!!(length l`div`2)
|
|
c(x,y)=(m$filter(>0)$sort x,sum y)
|
|
main=interact$show.c.unzip.map(""%).lines |