Pagini recente » Cod sursa (job #1091470) | Cod sursa (job #1760547) | Cod sursa (job #215005) | Cod sursa (job #1077955) | Cod sursa (job #831830)
Cod sursa(job #831830)
#include <stdio.h>
FILE *f=fopen("rucsac.in","r");
FILE *g=fopen("rucsac.out","w");
long ef[5001],v[5001][3],n,aux,nr,i,j,gr;
int main()
{
fscanf(f,"%ld%ld",&n,&gr);
for (i=1;i<=n;i++)
{
fscanf(f,"%ld%ld",&v[i][1],&v[i][2]);
//ef=v[i][2]-v[i][1];
}
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
{
if (v[i][2]<v[j][2])
{
/*aux=ef[i];
ef[i]=ef[i];
ef[j]=aux;*/
aux=v[i][1];
v[i][1]=v[j][1];
v[j][1]=aux;
aux=v[i][2];
v[i][2]=v[j][2];
v[j][2]=aux;
}
else if (v[i][2]==v[j][2] && v[i][1]>v[i][2])
{
aux=v[i][1];
v[i][1]=v[j][1];
v[j][1]=aux;
aux=v[i][2];
v[i][2]=v[j][2];
v[j][2]=aux;
}
}
for (i=1;i<=n;i++)
if (v[i][1]<=gr)
{
gr=gr-v[i][1];
nr=nr+v[i][2];
}
fprintf(g,"%ld",nr);
fclose(f);
return 0;
}