您的位置:首页 > 其它

HDU 1009 FatMouse' Trade

2012-05-27 16:45 288 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1009

无聊的贪心

View Code

#include <stdio.h>
#include <stdlib.h>
typedef struct L{
int j,k;
double w;
}L;
L kk[1001];
int cmp(const void*a,const void*b)
{
L*c=(L*)a;
L*d=(L*)b;
return d->w > c->w ? 1 : -1 ;
}
int main()
{
int m,n;
while(scanf("%d%d",&m,&n))
{
if(m==-1 && n==-1)break;
for(int i=0;i<n;i++)
{
scanf("%d%d",&kk[i].j,&kk[i].k);
kk[i].w=kk[i].j*1.0/kk[i].k;
}
qsort(kk,n,sizeof(L),cmp);
int sum=0;
double ans=0;
for(int i=0;i<n;i++)
{
sum+=kk[i].k;
ans+=kk[i].j;
if(sum>=m){
ans-=(sum-m)*kk[i].w;
break;
}
}
printf("%.3lf\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: