def index(i, j){return string(i) + "," +string(j)}
def DTWDistance(s1, s2){
inf = 999999999999
DTW = dict(STRING, DOUBLE)
sizeS1 = size(s1)
sizeS2 = size(s2)
for(i in 0:(sizeS1)) DTW[index(i, -1)] = inf
for(j in 0:(sizeS2)) DTW[index(-1, j)] = inf
DTW["-1,-1"] =0
print(DTW)
for (i in 0:(sizeS1)){
for (j in 0:(sizeS2)){
dist = square(s1[i]-s2[j])
DTW[index(i, j)] = dist+min([DTW[index(i-1, j)], DTW[index(i, j-1)], DTW[index(i-1, j-1)]])
}
}
print(DTW)
return sqrt(DTW[index(s1.size()-1, s2.size()-1)])
}
s1 = 1..10
s2 = 1..5
DTWDistance(s1, s2) //497.05