现在的位置: 首页 > 综合 > 正文

HDOJ 2187

2018年01月19日 ⁄ 综合 ⁄ 共 503字 ⁄ 字号 评论关闭
/*
2187 悼念512汶川大地震遇难同胞——老人是真饿了
简单题 取单价最低开始 
*/
#include<iostream>
#include<algorithm>
using namespace std;
struct dami{
    int price;
    int num;
};

bool cmp(dami a,dami b)
{
    return a.price<b.price;
}

int main(){
    int i,n,m,k;
    float sum;
    dami t[1001];
    scanf("%d",&k); 
    while(k--)
    {
        scanf("%d %d",&n,&m); //经费的金额和大米的种类 
        for(i=0;i<m;i++)
            scanf("%d %d",&t[i].price,&t[i].num);
        sort(t,t+m,cmp);
        sum=0;
        for(i=0;i<m;i++)
        {
            if(n>=t[i].price*t[i].num) 
            {
                sum+=t[i].num;
                n-=t[i].price*t[i].num;
            }
            else {
                sum+=1.0*n/t[i].price;
                n=0;
            }
            if (n==0) break;
        }
        printf("%.2f\n",sum);
    } 
    return 0;
}

抱歉!评论已关闭.