1009.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 39 行

CPP
39
字号
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
struct mouse{
    int j;int f;double d;
}mo[1001];
int compare(mouse a,mouse b){
    return a.d > b.d;
}
void main()
{
    int m,n,i;
    double left;
    while(cin >> m >> n){
        if(m == -1 && n == -1)
            break;
        memset(mo,0,sizeof(mo));
        for(i = 0;i < n;i++){
            cin >> mo[i].j >> mo[i].f;
            mo[i].d = 1.0 * mo[i].j / mo[i].f;
        }
        sort(mo,mo+n,compare);
        left = 0;
        for(i = 0;i < n && m > 0;i++)
            if(m <= mo[i].f){
                left +=  m * mo[i].d;
                m = 0;
                break;
            }
            else{
                left += mo[i].j;
                m -= mo[i].f;
            }
        printf("%.3lf\n",left);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?