题目1433:FatMouse

来源:互联网 发布:ubuntu注销用户命令 编辑:程序博客网 时间:2024/05/29 02:15
#include <cstdio>#include <algorithm>using namespace std;struct p{    int j,f;    double u;    bool operator <(const p &a) const    {        return u>a.u;    }}list[100];int main(){    int m,n;    while(scanf("%d%d",&m,&n)==2)    {        if(m==-1&&n==-1)            return 0;        for(int i=0;i<n;i++)        {            scanf("%d%d",&list[i].j,&list[i].f);            list[i].u=double(list[i].j)/list[i].f;        }        sort(list,list+n);        double ans=0;        int i=0;        while(m>0&&i<n)        {            if(m>list[i].f)            {                m-=list[i].f;                ans+=list[i].j;            }            else            {                ans+=(double(m)/list[i].f)*list[i].j;                m=0;            }            i++;        }        printf("%.3f\n",ans);    }    return 0;}/**************************************************************    Problem: 1433    User: cust123    Language: C++    Result: Accepted    Time:10 ms    Memory:1024 kb****************************************************************/

0 0
原创粉丝点击