package main import . "fmt" import . "os" import bf "bufio" import . "sort" func main() { rd:=bf.NewReader(Stdin) wr:=bf.NewWriter(Stdout) defer wr.Flush() var t int Fscan(rd,&t) for ; t > 0; t-- { var n int Fscan(rd,&n) cs := make([]*C, n) sum := 0 for i := range cs { var a int Fscan(rd,&a) cs[i] = &C{ i, a } sum += a } Slice(cs, func(i, j int) bool { return cs[i].value < cs[j].value }) best := sum bestCnt := 0 for i, c := range cs { var b int Fscan(rd,&b) sum += b - c.value if sum > best { best = sum bestCnt = i+1 } } ans := make([]byte, n) for i := range ans { ans[i] = '0' } for _, c := range cs[:bestCnt] { ans[c.index] = '1' } Fprintln(wr,string(ans)) } } type C struct { index, value int }