Enviado em 02/12/2012 - 11:18h
olá pessoal, estava tentando resolver um exercicio do spoj, testei aqui em casa e ta funcionando, mas quando envio para o spoj, ele retorna esse erro: SIGSEGV, sei que esse erro é causado por violação de memória, então caso alguém queira ajudar eu vou postar o código que fiz e o link do exercicio:
#include <stdio.h>
int main(int argc, char* argv[])
{
int N, B;
int i, j, tq=0, cont;
char testes[51];
int bolas[91];
int numeros[90];
int r;
while(1)
{
scanf("%d%d", &N, &B);
if(N == 0 && B == 0)
break;
cont = 0;
for(i = 0; i < 91; i++)
numeros[i] = -1;
for(i = 0; i < B; i++)
{
scanf("%d", &bolas[i]);
}
//Subtrai todos os números entr si e
//guarda os resultado que devem ser considerados(0 ate N)
//e se o vetor estiver preenchido (cont == N+1)
//quer dizer que é possível encontrar todos os números atráves da subtração destes.
for(i = 0; i < B; i++)
{
for(j = 0; j < B; j++)
{
r = bolas[i] - bolas[j];
if(r >= 0 && numeros[r] != r)
{
numeros[r] = r;
cont++;
}
}
}
if(cont == N+1)
testes[tq] = 'Y';
else
testes[tq] = 'N';
tq++;
}
for(i = 0; i < tq; i++)
printf("%c\n", testes[i]);
return 0;
}