VNBOX2STPE6DWULNVZSMB5BDTCTAPZDOMKYLCVZX67ROZKPSDSDQC package mainimport ("bufio""log""os""strconv""strings")const impCounter = 14type pair [2]inttype pairs [impCounter]pairfunc main() {if err := myMain(); err != nil {log.Println(err)}}func myMain() error {prs, err := parseInput("input.txt")if err != nil {return err}solveFirst(prs)solveSecond(prs)return nil}func solveFirst(prs pairs) {const start = 9ret := [impCounter]int{}stack := [][2]int{}for i := 0; i < impCounter; i++ {if prs[i][0] > 0 {stack = append(stack, [2]int{prs[i][1], i})} else {p := stack[len(stack)-1]stack = stack[:len(stack)-1]add := startfor add+p[0]+prs[i][0] > start {add--}ret[p[1]] = addret[i] = add + p[0] + prs[i][0]}}log.Println(ret)}func solveSecond(prs pairs) {const start = 1ret := [impCounter]int{}stack := [][2]int{}for i := 0; i < impCounter; i++ {if prs[i][0] > 0 {stack = append(stack, [2]int{prs[i][1], i})} else {p := stack[len(stack)-1]stack = stack[:len(stack)-1]add := startfor add+p[0]+prs[i][0] < start {add++}ret[p[1]] = addret[i] = add + p[0] + prs[i][0]}}log.Println(ret)}func parseInput(fileName string) (pairs, error) {ret := pairs{}fd, err := os.Open(fileName)if err != nil {return ret, err}defer fd.Close()const (impLength = 18offset0 = 5offset1 = 15)buf := bufio.NewScanner(fd)for line, counter := 0, 0; buf.Scan(); line++ {if line == impLength*counter+offset0 {ret[counter][0], err = strconv.Atoi(strings.Split(buf.Text(), " ")[2])if err != nil {log.Println(err)}}if line == impLength*counter+offset1 {ret[counter][1], err = strconv.Atoi(strings.Split(buf.Text(), " ")[2])if err != nil {log.Println(err)}counter++}}return ret, nil}
inp wmul x 0add x zmod x 26div z 1add x 14eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 1mul y xadd z yinp wmul x 0add x zmod x 26div z 1add x 15eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 7mul y xadd z yinp wmul x 0add x zmod x 26div z 1add x 15eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 13mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x -6eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 10mul y xadd z yinp wmul x 0add x zmod x 26div z 1add x 14eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 0mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x -4eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 13mul y xadd z yinp wmul x 0add x zmod x 26div z 1add x 15eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 11mul y xadd z yinp wmul x 0add x zmod x 26div z 1add x 15eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 6mul y xadd z yinp wmul x 0add x zmod x 26div z 1add x 11eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 1mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x 0eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 7mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x 0eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 11mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x -3eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 14mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x -9eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 4mul y xadd z yinp wmul x 0add x zmod x 26div z 26add x -9eql x weql x 0mul y 0add y 25mul y xadd y 1mul z ymul y 0add y wadd y 10mul y xadd z y
module maingo 1.17