hdu 1009 简单贪心

来源:互联网 发布:视频音乐 制作软件 编辑:程序博客网 时间:2024/04/28 11:53
#include <stdio.h>#include <stdlib.h>struct node{    int i,j;    double p;} s[1000];int cmp (const void *a,const void *b){    struct node*aa=( struct node*)a;    struct node*bb=(struct node*)b;    return (((aa->p)<(bb->p))?1:-1);}int main (){    int m,n,i,j;    double sum;    while (~scanf("%d%d",&m,&n))    {        sum=0;        if(m==-1&&n==-1)            break;        for(i=0; i<n; i++)            {                scanf("%d%d",&s[i].i,&s[i].j);                s[i].p=(double)s[i].i/s[i].j;            }            qsort (s,n,sizeof(s[0]),cmp);            for(i=0;i<n;i++)            {                if(m>s[i].j)                {                    sum+=s[i].i;                    m-=s[i].j;                }                else                {                    sum+=(double)(m*s[i].p);                //m=0;                    break;                }            }            printf("%.3lf\n",sum);    }    return 0;}