文章
60
粉丝
361
获赞
43
访问
527.7k
#include <iostream>
#include <string>
#include <string.h>
#include<algorithm>
#include <vector>
#include <map>
using namespace std;
struct timu
{
double wi;//题目
double mi;//精力
}mon[200];
bool compare(timu a,timu b)
{
return a.wi /a.mi >b.wi /b.mi;
}
int main()
{
int x,n;
while(cin>>x>>n)
{
if(x==-1&&n==-1)
break;
for(int i=0;i<n;i++)
{
cin>>mon[i].wi;
cin>>mon[i].mi;
}
sort(mon,mon+n,compare);
double cnt=0;
for(int i=0;i<n;i++)
{
if(x>mon[i].mi )
{
x-=mon[i].mi;
cnt+=mon[i].wi;
}
else
{
cnt+=x/mon[i].mi*mon[i].wi ;
break;
}
}
printf("%.3lf\n",cnt);
}
return 0;
}
登录后发布评论
哈哈,确实跟1478一模一样,我代码直接复制过去就AC了