← Home
For problem statement at 0-999/500-599/520-529/525/problemB.txt this is a correct solution, but verifier at 0-999/500-599/520-529/525/verifierB.go ends with All tests passed can you fix the verifier? package main

import (
	"bufio"
	"os"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1024*1024)
	out := bufio.NewWriterSize(os.Stdout, 1024*1024)
	defer out.Flush()

	var s []byte
	for {
		b, err := in.ReadByte()
		if err != nil {
			break
		}
		if b >= 'a' && b <= 'z' {
			s = append(s, b)
		} else if len(s) > 0 {
			break
		}
	}

	n := len(s)
	if n == 0 {
		return
	}

	m := readInt(in)
	cnt := make([]int, n/2)
	for i := 0; i < m; i++ {
		a := readInt(in)
		if a >= 1 && a <= n/2 {
			cnt[a-1]++
		}
	}

	sum := 0
	for i := 0; i < n/2; i++ {
		sum += cnt[i]
		if sum%2 == 1 {
			s[i], s[n-1-i] = s[n-1-i], s[i]
		}
	}
	
	out.Write(s)
	out.WriteByte('\n')
}

func readInt(in *bufio.Reader) int {
	x := 0
	started := false
	for {
		b, err := in.ReadByte()
		if err != nil {
			break
		}
		if b >= '0' && b <= '9' {
			x = x*10 + int(b-'0')
			started = true
		} else if started {
			break
		}
	}
	return x
}