文章
3
粉丝
0
获赞
33
访问
984
#include<bits/stdc++.h>
using namespace std;
struct mw{
float mi;
float wi;
};
bool cmp(mw a,mw b)
{
return a.wi/a.mi<=b.wi/b.mi;//按照每毫升单价排序
}
int main()
{
float x;
int n;
while(cin>>x>>n)
{
mw s[1005];
if(x<0&&n<0)break;
for(int i=0;i<n;i++)
{
cin>>s[i].mi>>s[i].wi;
}
sort(s,s+n,cmp);
float ans=0;
for(int i=0;i<n;i++)//排好序以后依次遍历,每次能拿完就拿完
{
if(x>s[i].wi)
{
ans+=s[i].mi;
x-=s[i].wi;
}
else
{
ans+=x/(s[i].wi/s[i].mi);
&n...
登录后发布评论
暂无评论,来抢沙发