Cod sursa(job #126700)
#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);
}