洛谷P1208

#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct milk
{
    int p;
    int num;
};
bool cmp(milk a,milk b)
{
    return a.p < b.p;
}
int main()
{
    struct milk a[5009];
    int n,m,i;
    scanf("%d%d",&m,&n);
    for( i = 0 ; i < n ; i++) scanf("%d%d",&a[i].p,&a[i].num);
    sort(a,a+n,cmp);
    int k=0,money=0,s=0;
    for(i=0;i<n;i++)
    {
        k+=a[i].num;
        if(k>m){
            k=k-a[i].num;
            s=m-k;
            money+=s*a[i].p;
            break;
        }
        money+=a[i].num*a[i].p;
        if(k==m) break;
    }
    printf("%d",money);
    return 0;
}
posted @ 2018-11-19 16:04  EchoZQN  阅读(78)  评论(0编辑  收藏  举报