文章

81

粉丝

0

获赞

275

访问

10.6k

头像
喝饮料 题解:额原来都只有一瓶啊
P1478 云南大学机试题
发布于2025年3月22日 16:14
阅读数 104

#include<bits/stdc++.h>
using namespace std;
struct node{
	double m;//毫升
	double w;//价格
	double d;//单位价格
};
bool cmp(node a,node b){
	return a.d < b.d;
}
int main(){
	int x,n,i;
	while(cin>>x>>n&&x!=-1){
		node juice[1000];
		for(i=0;i<n;i++){
			cin>>juice[i].m>>juice[i].w;
			juice[i].d = juice[i].w/juice[i].m;
		}
		sort(juice,juice+n,cmp);
		double aws=0;
		for(i=0;i<n;i++){
				if(juice[i].w<=x){
					aws+=juice[i].m;
					x-=juice[i].w;
				}else{
				    aws+=(juice[i].m*x/juice[i].w);
					break;
				}
		}
	    printf("%.3lf\n",aws);
	}

}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发