package main var data = []int{} var min_data = []int{} func min(a int, b int) int { if a < b { return a } return b } func Push(node int) { data = append(data, node) if len(min_data) != 0 { min_data = append(min_data, min(node, min_data[len(min_data)-1])) } else { min_data = append(min_data, node) } } func Pop() { data = data[0:len(data)-1] min_data = min_data[0:len(min_data)-1] } func Top() int { return data[len(data)-1] } func Min() int { return min_data[len(min_data)-1] }