标签:
1 3 15 5 10 2 8 3 9
65
#include<cstdio>
#include<algorithm>
using namespace std;
struct bag
{
int v;
int w;
}arr[1010];
bool cmp(bag a,bag b)
{
return a.v>b.v;
}
int main()
{
int T,i;
int n,m;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
for(i=0;i<n;++i)
{
scanf("%d%d",&arr[i].v,&arr[i].w); //这里是单位价值
}
sort(arr,arr+n,cmp);
int max=m;
int sum=0;
for(i=0;i<n;++i)
{
if(arr[i].w<=max)
{
sum+=arr[i].v*arr[i].w;
max-=arr[i].w;
}
else
{
sum+=max*arr[i].v;
break;
}
}
printf("%d\n",sum);
}
return 0;
}版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/yuzhiwei1995/article/details/47165897