Saving HDU

来源:互联网 发布:明星年龄造假知乎 编辑:程序博客网 时间:2024/06/05 02:05
#include<stdio.h>
#include<algorithm>
using namespace std;
struct bag
{
    int pi;
    int mi;
}a[105];


bool cmp(bag a, bag b)
{
    return a.pi>b.pi;
}
int main()
{
    int i, v, n, m, sum;
    while(~scanf("%d", &v), v != 0)
    {
        scanf("%d", &n);
        for(i=0; i<n; i++)
            scanf("%d%d", &a[i].pi, &a[i].mi);


        sum = 0;
        sort(a, a+n, cmp);
        for(i=0; i<n; i++)
        {
            if(v > a[i].mi)
            {
                sum = sum + a[i].pi*a[i].mi;
                v = v - a[i].mi;
            }
            else
            {
                sum = sum + a[i].pi*v;
                break;
            }
        }


        printf("%d\n", sum);
    }
    return 0;
}
0 0
原创粉丝点击