Zadanie SPOJ - sortowanie. Błędna odpowiedź.

0

Witam,

Link do zdania. http://www.spoj.com/WSDOCPP/problems/SORTWNIA/

Program

#include<stdio.h>
#include<stdlib.h>	

void Sortuj_szybko(int d[],int lewy, int prawy)
{
  int i,j,piwot,temp;

  i = (lewy + prawy) / 2;
  piwot = d[i]; d[i] = d[prawy];
  for(j = i = lewy; i < prawy; i++)
  if(d[i] < piwot)
  {
    temp=d[i];
    d[i]=d[j];
    d[j]=temp;
    j++;
  }
  d[prawy] = d[j]; d[j] = piwot;
  if(lewy < j - 1)  Sortuj_szybko(d,lewy, j - 1);
  if(j + 1 < prawy) Sortuj_szybko(d,j + 1, prawy);
}


					
int main()
{
	static int tab[100000];
	int cnt=0,i,val;
   	for (i=0;i<100000; i++)
	{
		scanf("%d",&val);
		tab[cnt++]=val;
		if (val=getchar()=='\n')break;
   	}
   	Sortuj_szybko(tab,0,cnt-1);
	for (i=cnt-1; i>=0; i--)
        printf("%d ",tab[i]);
	
	return 0;
}

Sprawdziłem program poprzez wylosowanie 105 liczb z zakresu od 0 do 109 i zapisałem wynik do pliku, wszystko wydaję się ok, mimo to SPOJ zwraca błędną odpowiedź.

2
int main()
  {
   static int tab[100000];
   int i,cnt=0;
   while(scanf("%d",tab+(cnt++))==1) {}
   Sortuj_szybko(tab,0,cnt-1);
   for(i=0;i<cnt;++i) printf("%d ",tab[i]);
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1