hdu 2187 悼念512汶川大地震遇难同胞——老人是真饿了 贪心

#include<iostream>
#include<algorithm>
using namespace std;

struct A
{
	double p, h;
}ch[1005];

bool cmp(A a, A b)
{
	return a.p < b.p;
}

int main()
{
	int t;
	scanf("%d", &t);
	while(t--)
	{
		int i;
		double n, m;
		scanf("%lf%lf", &n, &m);
		for( i=0; i < m; i++ )
			scanf("%lf%lf", &ch[i].p, &ch[i].h);
		double s = 0;
		sort(ch, ch+(int)m, cmp);
		for( i=0; i < m; i++ )
		{
			if(n >= ch[i].p * ch[i].h)
			{
				s += ch[i].h;
				n -= ch[i].h * ch[i].p;
			}
			else
			{
				s += n / ch[i].p;
				break;
			}

		}
		printf("%.2lf\n", s);
	}
	return 0;
}

展开阅读全文

没有更多推荐了,返回首页