-
#include<stdio.h>
struct good
{
int No;
///物品编号
float weight;
//物品重量
float value;
//物品价值
float pw;
//物品单位重量的价值; pw=value/weight;
}
;
int main(){
int n;
int c;
float we=0;
float va=0;
scanf("%d%d",&n,&c);
struct good a[n];
for(int i = 0;i < n;i++) {
scanf("%f %f",&a[i].weight,&a[i].value);
a[i].pw=a[i].value/a[i].weight;
a[i].No=i;
}
//排序
for(int i = 0;i < n;i++) {
for(int m = 0;m < n-i-1;m++) {
if(a[m].pw>a[m+1].pw)
{
int t=a[m].No;
a[m].No=a[m+1].No;
a[m+1].No=t;
}
}
}
//加起来
for(int i = 0;i < n;i++) {
for(int m=0;m<n;m++){
if(a[m].No==n-1-i){
we+=a[m].weight;
va+=a[m].value;
}
if(we>c)
{
we-=a[m].weight;
va-=a[m].value;
goto out;//脱离循环
}
}
}
out:;
printf("%f %f",we,va);
return 0;
}