Parece que ao rodar o programa 2x, com a mesma entrada, os itens são adicionados novamente na Blacklist. O funcionamento correto é, uma vez adicionado na Blacklist, não ser adicionado novamente.
É importante checar também se, uma vez adicionado na Blacklist, o mesmo item está sendo calculado novamente. Se duas disciplinas já foram consideradas não equivalentes, nenhum cálculo deve ser feito. Essa é a ideia da Blacklist.