fork download
  1. package main
  2. import "fmt"
  3.  
  4. func main(){
  5. input := []int{0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1}
  6. output := AnswerOfWater(input)
  7. fmt.Println(output)
  8. }
  9.  
  10. func AnswerOfWater(values []int) int {
  11. sum := 0
  12. bucket := 1
  13. level := 0
  14. left := false
  15. for bucket > 0 {
  16. bucket = 0
  17. water := 0
  18. left = false
  19. for _, value := range values {
  20. if value - level > 0 {
  21. left = true
  22. bucket += water
  23. water = 0
  24. } else if left {
  25. water++
  26. }
  27. }
  28. sum += bucket
  29. level++
  30. }
  31. return sum
  32. }
Success #stdin #stdout 0s 2976KB
stdin
Standard input is empty
stdout
6