Pagini recente » Cod sursa (job #1350880) | Cod sursa (job #1306297) | Cod sursa (job #813852) | Cod sursa (job #848390) | Cod sursa (job #1107921)
#include<stdio.h>
void sortare(int a[100][2],int n)
{
int i,j,aux=0;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i][1]<a[j][1])
{
aux=a[i][1];
a[i][1]=a[j][1];
a[j][1]=aux;
aux=a[i][0];
a[i][0]=a[j][0];
a[j][0]=aux;
}
else if(a[i][1]==a[j][1])
if(a[i][0]>a[j][1])
{
aux=a[i][1];
a[i][1]=a[j][1];
a[j][1]=aux;
aux=a[i][0];
a[i][0]=a[j][0];
a[j][0]=aux;
}
}
}
int main()
{
int n=0,G=0,a[100][2],i,j,sum,b=0,max,val;
FILE *f,*g;
f=fopen("rucsac.in","rb");
g=fopen("rucsac.out","wb");
fscanf(f,"%i",&n);
fscanf(f,"%i",&G);
for(i=0;i<n;i++)
for(j=0;j<2;j++)
fscanf(f,"%i",&a[i][j]);
sortare(a,n);
i=0;
val=0;
sum=0;
while(val<G)
{ val+=a[i][0];
sum+=a[i][1];
i++;
}
fprintf(g,"%i",sum);
return 0;
}