hdu 1009 FatMouse' Trade(排序)

来源:互联网 发布:洗车软件排行 编辑:程序博客网 时间:2024/06/01 20:19
#include<stdio.h>#include<math.h>#include <queue>#include<algorithm>#include <iostream>#include <string.h>using namespace std;struct node{    int Ji,Fi;    bool operator <(const node a)const    {        return a.Ji*1.0/a.Fi<Ji*1.0/Fi;    }};node no[1005];int main(){    int m,n;    while(~scanf("%d%d",&m,&n))    {        if(m==-1&&n==-1)break;        int i;        for(i=0;i<n;i++)        {            scanf("%d%d",&no[i].Ji,&no[i].Fi);        }        sort(no,no+n,less<node>());        double ans=0;        for(i=0;i<n&&m;i++)        {            if(no[i].Fi<=m)            {                ans+=no[i].Ji;                m-=no[i].Fi;            }            else            {                ans+=m*(no[i].Ji*1.0/no[i].Fi);                m=0;            }        }        printf("%.3lf\n",ans);    }    return 0;}

原创粉丝点击