#include<stdio.h>
struct Box{
int v,w;
double dj;
}boxes[110];
int main(){
struct Box B;
int n,w,i,j;
double tw,tv;
scanf("%d %d",&n,&w);
for(i=0;i<n;i++){
scanf("%d%d",&boxes[i].v,&boxes[i].w);
boxes[i].dj=1.0*boxes[i].v/boxes[i].w;
}
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(boxes[i].dj<boxes[j].dj){
B=boxes[i];
boxes[i]=boxes[j];
boxes[j]=B;
}
}
}
tv=tw=0;
for(i=0;i<=n;i++){
if(tw+boxes[i].w<=w){
tw+=boxes[i].w;
tv+=boxes[i].v;
}
else{
tv+=boxes[i].dj*(w-tw);
tw=w;
break;
}
}
printf("%.1f\n",tv);
return 0;
}
问题 A: 圣诞老人的礼物-Santa Clau’s Gifts
最新推荐文章于 2024-05-11 13:22:55 发布