Questão Errada. Bingo! (Maratona de Programação 2010, Fase 2)

Boa tarde, gostaria que alguém olhasse um código que fiz como resposta para a Maratona de Programação de 2010. Quando vou submeter o código diz que a resposta está errada, sendo que verifiquei todos os casos exemplos que a questão dá e ainda verifiquei toda a minha lógica, mesmo assim dá como errada e com 0 pontos. Se alguém puder olhar meu código e me dizer onde está errado agradeço muito! Segue abaixo o link da questão e meu código-resposta.

Ah! Gostaria de pedir, a quem quiser corrigir minha questão, que submeta ela ao site para ver se está dando a pontuação máximo (Status: Accepted - 100 Pontos). Agradeço Imensamente!

http://www.codcad.com/problem/161

cin >> N >> B;

while (N != 0 && B != 0) {
    int globo[B];
    int possibilidades[N + 1];

    for (int cont = 0; cont < B; cont++) {
        cin >> globo[cont];
    }

    for (int cont = 0; cont <= N; cont++) {
        possibilidades[cont] = cont;
    }

    for (int cont = 0; cont < B; cont++) {
        for (int cont1 = 0; cont1 < B; cont1++) {
            num = globo[cont] - globo[cont1];

            if (num < 0) {
                num = num * -1;
            }

            for (int cont2 = 0; cont2 <= N; cont2++) {
                if (num == possibilidades[cont2]) {
                    possibilidades[cont2] = -99;
                }
            }
        }
    }

    for (int cont = 0; cont <= N; cont++) {
        if (possibilidades[cont] > -10) {
            existe = false;
        }
    }

    if (existe == true) {
        cout << "S" << endl;
    } else {
        cout << "N" << endl;
    }

    existe = true;

    cin >> N >> B;
}

return 0;

}

Desculpe, já resolvi o problema.

Na saída eu coloquei “S” ao envés de botar “Y”. Mas obrigado se você chegou a ler o problema e meu código!

Att., Alan.