← Home
For problem statement at 0-999/600-699/600-609/608/problemB.txt this is a correct solution, but verifier at 0-999/600-699/600-609/608/verifierB.go ends with All 120 tests passed can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	var a, b string
	fmt.Fscan(in, &a, &b)

	n, m := len(a), len(b)
	w := m - n + 1

	pref := make([]int, m+1)
	for i := 0; i < m; i++ {
		pref[i+1] = pref[i]
		if b[i] == '1' {
			pref[i+1]++
		}
	}

	var ans int64
	for i := 0; i < n; i++ {
		ones := pref[i+w] - pref[i]
		if a[i] == '0' {
			ans += int64(ones)
		} else {
			ans += int64(w - ones)
		}
	}

	fmt.Println(ans)
}