package main import . "fmt" import . "os" import bf "bufio" // 中学数学レベル? // 同じ値をPとしてPにする総コストK=f(P) // f(P) = x*|A-P|+y*|B-P|+z*|C-P| // Pを横軸、Kを縦軸、としてグラフを描けば答えは明瞭 // P=AとP=BとP=Cの3点のみが極値となりえて、そのどれかが最小のKを与える // 仮に A < B < C とするなら // P < A は単調減少(直線で傾きは-x-y-z) // A < P < B は単調に変化(直線で傾きはx-y-z) // B < P < C は単調に変化(直線で傾きはx+y-z) // C < P は単調増加(直線で傾きはx+y+z) func abs(v int) int { if v < 0 { return -v } else { return v } } func main() { rd:=bf.NewReader(Stdin) wr:=bf.NewWriter(Stdout) defer wr.Flush() var t int Fscan(rd, &t) for ; t > 0; t-- { var a,b,c,x,y,z int Fscan(rd,&a,&b,&c,&x,&y,&z) v1 := abs(b-a)*y+abs(c-a)*z v2 := abs(a-b)*x+abs(c-b)*z v3 := abs(a-c)*x+abs(b-c)*y Fprintln(wr, min(v1,v2,v3)) } }