Cod sursă (job #95466)

Utilizator avatar cstefan Constantin Stefan cstefan IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 1,07 kb
Rundă Tema 9 clasele 9-10 2014/15 Status evaluat
Dată 7 dec. 2014 00:29:51 Scor 0
//Iisuse miluieste -ma
#include<fstream>
#define GOD 5000000
using namespace std;

void GOD_sort( long long int a[ ] , long long int n )
{
long long int p , aux , gasit;
do
 {
   gasit = 0 ;
   for( p = 0 ; p < n; p ++ )
      {
      if( a[ p ] > a[ p + 1 ] )
        {
        aux = a[ p ];
        a[ p ] = a[ p + 1];
	a[ p + 1] = aux;
	gasit = 1;
 	}
      }
  }while( gasit );
}
int main()
{
long long int l[ GOD ] , x , d , k , i , j , N , h;
//Iisuse miluieste - ma 
ifstream f("lalele.in");
ofstream g("lalele.out");
f>>N;
i = 0;
do
      {
       f>>d;
       f>>x;
       if( x )
   	 {
 	  while( d )
  		{
  		 l[ i ] = x;
		 for( j = 0; j <= i ; j ++ )
   		     l[ j ] ++;
		i ++;
		d --;
		}
	  }
       if ( !x )
  	  {
           k = i;
	   GOD_sort ( l , ( k - 1 ) );
	   while ( d > 0 )
                 {
		  g<<l [ k / 2 ]<<endl;
 		  k = k / 2;
		  d --;
		  for ( h = 0; h < k ; h ++ )
		       l [ h ] ++;
                  }
            i = k;
	    }
	}while( !f.eof() );
f.close();
g.close();
return 0;
}