iagoac / mc202

Disciplina MC202 - Estruturas de Dados
GNU General Public License v3.0
17 stars 13 forks source link

Duvida Lab05 #100

Closed Gabrielcdm closed 3 years ago

Gabrielcdm commented 4 years ago

Tinha o meu lab05 pronto, porem ao submeter no susy, acusou erro de tempo máximo excedido. Dessa forma, conversando com o PAD Arthur, ele achou que o erro estava na forma que eu guardava as quantidades de inversões feitas, me sugerindo mudar por uma forma mais eficiente. Assim eu alterei meu lab para fazer como ele sugeriu, porém ao submeter de novo no Susy as minhas saídas passaram a dar valores negativos, mas quando eu testava exemplos pequenos, a saída no meu computador dava certo. Queria saber se algum PED poderia me ajudar, pois o Arthur não conseguiu entender aonde estava o problema no meu código, já que a alteração feita foi simples.

LeonardoRener commented 4 years ago

Deve ta dando negativo porque você ta guardando o resultado em um int e o numero eh muito grande, tenta guardar em um long long int, comigo funcionou.

iagoac commented 4 years ago

@Gabrielcdm me parece que a resposta de @yLeonardo está correta.
O valor máximo que um inteiro é capaz de guardar é relativamente pequeno, sendo possivelmente menor que o número total de inversões.
Recomendo que você utilize um (long long int) ao invés de int.

Você pode consultar aqui as capacidades de cada um dos tipos existentes em C.

leticia-rosa commented 4 years ago

Também estou com esse problema, estou usando long long int pra minha contadora que guarda o número de inversões mas todos os testes do susy estão negativos. Alguém sabe o que poderia ser? image

LeonardoRener commented 4 years ago

Geralmente numero negativo eh pq ta estourando o tamanho do int ou ultrapassando o tamanho do vetor, suas funções tbm são long long int ou só na main? Sem ver o código fica difícil ajudar, manda pra algum ped, o @enoque (enoquealvesufc@gmail.com) me ajudou com um erro no lab5 tbm, tenta com ele.

leticia-rosa commented 4 years ago

Valeu @yLeonardo , o problema era exatamente isso que você falou, eu esqueci de mudar o tipo das minhas funções pra long long int, porque estou retornando long long. Agora funcionou!! Obrigada!! :)