Cod sursa(job #126700)

Utilizator drywaterLazar Vlad drywater Data 22 ianuarie 2008 18:23:34
Problema Ghiozdan Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
FILE *in,*o;
int f,c[100],g[100],a,i,n,gmax,nm;
float e[100];
void main()
{
in=fopen("ghiozdan.in","r");
o=fopen("ghiozdan.out","w");
fscanf(in,"%d %d",&n,&gmax);
for (i=1;i<=n;i++)
 {
 fscanf(in,"%d %d",&c[i],&g[i]);
 e[i]=c[i]/g[i];
 }
f=1;
while (f==1)
{
f=0;
for (i=1;i<n;i++)
 if (e[i]<e[i+1])
  {
  a=e[i];
  e[i]=e[i+1];
  e[i+1]=a;
  a=c[i];
  c[i]=c[i+1];
  c[i+1]=a;
  a=g[i];
  g[i]=g[i+1];
  g[i+1]=a;
  f=1;
  }
}
for (i=1;i<=n && gmax!=0;i++)
 if(g[i]<=gmax)
  {
  gmax=gmax-g[i];
  nm++;
  }
fprintf(o,"%d %d",gmax,nm);
for (i=1;i<=n && gmax!=0;i++)
 if(g[i]<=gmax)
  {
  gmax=gmax-g[i];
  fprintf(o,"g=%d",g[i]);
  }
fclose(in);
fclose(o);
}