Informática – Nível Intermediário – Semana 30

por

Brigadeiros no Carnaval

Inspiradas no Halloween e com o Carnaval se aproximando, $$c$$ crianças de um bairro decidiram criar a sua própria tradição carnavalesca. Como todas elas amam brigadeiros, elas pediram para os seus vizinhos prepararem estes deliciosos doces.

Cada um dos $$n$$ moradores concordou em produzir $$a_i$$ brigadeiros. Para evitar qualquer tipo de treta, as crianças decidiram coletar os brigadeiros de alguns vizinhos (podendo ser todos) de modo a garantir que a soma total dos doces coletados seja divisível por $$c$$.

Sua tarefa é apresentar, para cada caso teste, os índices dos moradores que devem ser visitados para que a condição anterior seja cumprida e para que todas as crianças tenham ao menos um docinho. Caso não seja possível, o seu programa deve imprimir “no sweets” (sem as aspas).

Entrada:

A entrada consiste em vários casos testes.

A primeira linha de cada caso possui dois inteiros $$c$$ e $$n$$, o número de crianças e de vizinhos, respectivamente. A próxima linha contém $$n$$ inteiros separados por espaço $$a_1, … a_n$$, em que $$a_i$$ representa o número de brigadeiros que as crianças ganham se elas visitarem o vizinho $$i$$.

O último caso teste é seguido por dois zeros.

Saída:

Para cada caso teste, o seu programa deve imprimir uma linha contendo os índices dos moradores que devem ser visitados. Caso não seja possível apresentar uma solução, o seu programa deve imprimir “no sweets”. Se existirem mais de uma solução, você pode imprimir qualquer uma.

Limites:

  • $$1\leq c\leq n\leq 10^5$$
  • $$1\leq a_i\leq 10^5$$

Exemplo:

Entrada Saída
4 5
1 2 3 7 5
3 6
7 11 2 5 13 17
0 0
3 5
2 3 4

Para submeter a sua solução, use esse link