Яндекс. Некорректное выполнения программы

Пожалуйста, помогите!

Задача звучит следующим образом:

Ограничение времени 10 секунд;
Ограничение памяти  64.0 Мб;
Ввод:   стандартный ввод или input.txt
Вывод:  стандартный вывод или output.txt

После урока про сортировки Маша решила применить полученные знания с пользой. У неё есть тетрадка, куда она записывает всех, кому за что-нибудь благодарна. Список может быть очень длинным, но Маша его упорядочила по алфавиту (это называется - лексикографический порядок). Помогите ей организовать быстрый поиск по этому списку.

Формат ввода На первой строке передается количество людей в списке - натуральное число. Затем на следующих строках идет список людей. А после списка - перечень префиксов всех тех, кого надо найти. Перечень префиксов может быть произвольной длины. Пустая строка вместо префикса значит что префиксы закончились.

Формат вывода Для каждого префикса необходимо вывести первую фамилию с таким префиксом, или фразу Не найдено.

Пример

Ввод
3

Иванов Иван

Петренко Тарас

Петров Дмитрий

Ив

Петр

Петра

Вывод

Иванов Иван

Петренко Тарас

Не найдено

Примечания

Обратите внимание, что префикс может содержать пробел, например «Вася П»

Сам код:

 package main
    
    import (
        "bufio"
        "fmt"
        "os"
        "strings"
    )
    
    func findPeopleWithPrefixes(people []string, prefixes []string) []string {
        foundPeople := []string{}
        for _, prefix := range prefixes {       
            for _, person := range people {      
            
                if prefix == "" || strings.Contains(person, prefix) {
                    foundPeople = append(foundPeople, person)
                    break
                }
            }
        }
        return foundPeople
    }
    
    func main() {
        var numPeople int
        _, err := fmt.Scan(&numPeople)
        if err != nil {
            fmt.Println("Ошибка ввода количества людей:", err)
            return
        }
    
        peopleList := []string{}
        reader := bufio.NewReader(os.Stdin)
        for i := 0; i < numPeople; i++ {
            person, _ := reader.ReadString('\n')
            peopleList = append(peopleList, strings.TrimSpace(person))
        }
    
        prefixes := []string{}
        for {
            prefix, _ := reader.ReadString('\n')
            prefix = strings.TrimSpace(prefix)
            if prefix == "" {
                break
            }
            prefixes = append(prefixes, prefix)
        }
    
        foundPeople := findPeopleWithPrefixes(peopleList, prefixes)
    
        for i := len(foundPeople); i < numPeople; i++ {
            foundPeople = append(foundPeople, "Не найдено")
        }
        for _, person := range foundPeople {
            fmt.Println(person)
        }
    }

Я написал код, вроде все нормально, но мне выдает ошибку:

Different number of lines: out = 100, corr = 2

Я не понимаю что с этим делать

Лог компиляции

stdout:
mv /temp/compiling/solution.go solution.go || true 
go build -o solution solution.go

stderr:
mv: '/temp/compiling/solution.go' and 'solution.go' are the same file

Пожалуйста, помогите, последняя задача, а дедлайн уже менее чем через сутки


Ответы (0 шт):