Cod sursa(job #159898)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 14 martie 2008 15:05:12
Problema Ghiozdan Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#define N 8000
int v[N];
int main()
{
  int s,gmax,n;
  int gata,inj,aux,i,j;
  freopen("ghiozdan.in", "r",stdin);
  freopen("ghiozdan.out", "w",stdout);
  scanf("%d%d", &n,&gmax);


  for(i=1;i<=n;++i)
      scanf("%d", &v[i]);

  inj=n;
  while(inj>1)
  {
     inj/=2;
     do{
	gata=1;
	for(i=1;i<=n-inj;i++)

	 if(v[i]>v[i+inj])
	 {
	   aux=v[i];
	   v[i]=v[i+inj];
	   v[i+inj]=aux;
	   gata=0;
	 }
	}while(!gata);
  }

   for(i=1;i<=n;++i)
   {
      s+=v[i];
      if(s+v[i+1]>gmax)
	  break;
   }

   printf("%d %d\n", s,i);
   for(j=1;j<=i;++j)
      printf("%d\n",v[j]);
   
 return 0;
}