Vermilliest

0920c

Feb 3rd, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.95 KB | None | 0 0
  1. func main() {
  2.     arrayLength := ReadInt32()
  3.     array := make([]int, arrayLength)
  4.     for numberIndex := 0; numberIndex < arrayLength; numberIndex++ {
  5.         array[numberIndex] = ReadInt32()
  6.     }
  7.     indexesDynamic := ReadString()
  8.     var maxElement, minElement int
  9.     maxAndMinAreSetted := false
  10.     nextAfterPreviousNonDynamicIndex := 0
  11.     result := true
  12.     for index := 0; index < len(indexesDynamic); index++ {
  13.         if !maxAndMinAreSetted || maxElement < array[index] {
  14.             maxElement = array[index]
  15.         }
  16.         if !maxAndMinAreSetted || minElement > array[index] {
  17.             minElement = array[index]
  18.         }
  19.         maxAndMinAreSetted = true
  20.         if indexesDynamic[index] == '0' {
  21.             if minElement != nextAfterPreviousNonDynamicIndex+1 || maxElement != index+1 {
  22.                 result = false
  23.                 break
  24.             }
  25.             nextAfterPreviousNonDynamicIndex = index + 1
  26.             maxAndMinAreSetted = false
  27.         }
  28.     }
  29.     var answer string
  30.     if result {
  31.         answer = "YES"
  32.     } else {
  33.         answer = "NO"
  34.     }
  35.     writer.WriteString(answer + "\n")
  36. }
Advertisement
Add Comment
Please, Sign In to add comment