Cod sursa(job #702549)

Utilizator darle.gheorgheDarle Gheorghe darle.gheorghe Data 1 martie 2012 22:46:11
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
#define NMax 10000
FILE *fin,*fout;
main()
{
fin = fopen("rucsac.in","r");
fout = fopen("rucsac.out","w");
int n,m;
int g[NMax],v[NMax];
int i,j,aux,s,sg;
fscanf(fin,"%d%d",&n,&m);
for(i=1;i<=n;i++)
fscanf(fin,"%d%d",&g[i],&v[i]);

for(i=1;i<=n;i++)
	for(j=i+1;j<=n;j++)
		if(v[i]<v[j])
		{
			aux=v[i];
			v[i]=v[j];
			v[j]=aux;
			
			aux=g[i];
			g[i]=g[j];
			g[j]=aux;
		}

s=0;
sg=0;
i=1;		
while(sg<m && i<=n)
{
sg+=g[i];
s+=v[i];
i++;
}

fprintf(fout,"%d",s);
fclose(fin);
fclose(fout);
}