Olá, eu estou com dificuldades neste problema: http://br.spoj.com/problems/PROIBIDO/ 1) Primeiramente tentei inserir os elementos ordenadamente, assim eu teria um vetor ordenado e apenas utilizava a busca binária.
Porém tomei "Tempo Limite Excedido".
2) Então para diminuir o vetor eu tentei impedir que elementos repetidos sejam adicionados, quando o algoritmo encontrava a posição correta para a inserção eu verificava se alí não existia um elemento igual, caso sim eu não o inseria novamente. Porém a resposta foi a mesma
3) Também tentei colocar os elementos no vetor na ordem em que eram informados e realizar uma busca sequencial. O problema persiste.
Fiquei um bom tempo, mas não consegui sair do TLE Muito Obrigado
Obs: código do subprograma que insere elementos ordenadamente
int insere_ordenado(int *v,int x, int n){ int i,j; for (i=0;((i<n)&&(v<x));i++); //procura o local da inserção if ((v==x)) //caso já tenha um elemento igual alí return 1; for (j=n;j>i;j--) // desloca os elementos necessários
v[j]=v[j-1];
v=x; // insere return 0;
}