1 #include<stdio.h>
2 typedef struct value
3 {
4 int v;/*价值*/
5 int w;/*重量*/
6 }thing;
7 int main()
8 {
9 int n;
10 scanf("%d",&n);
11 while(n--)
12 {
13 int s,m,j,i=0,sumv=0,sumw=0;
14 scanf("%d%d",&s,&m);
15 thing a[s],t;
16 while(i!=s)
17 {
18 scanf("%d%d",&a[i].v,&a[i].w);
19 i++;
20 }
21 for(i=0;i<s-1;i++)
22 for(j=i;j<s;j++)
23 {
24 if(a[i].v<a[j].v)
25 {
26 t=a[i];
27 a[i]=a[j];
28 a[j]=t;
29 }
30 }
31 int ww=0,vv=0;
32 i=0;
33 while(sumw<m)
34 {
35 ww=sumw;
36 vv=sumv;
37 sumw=sumw+a[i].w;
38 sumv=sumv+a[i].w * a[i].v;
39 i++;
40 while(i==s)
41 break;
42 }
43 if(sumv>m)
44 sumv=vv+(m-ww)*a[i-1].v;
45 printf("%d
",sumv);
46 }
47 }