1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<algorithm>
4 using namespace std;
5 struct mi
6 {
7 int dan;
8 int liang;
9 }s[1005];
10
11 int cmp(mi a,mi b)
12 {
13 return a.dan<b.dan;
14 }
15
16 int main()
17 {
18 int c,n,m,i,p,h;
19 double x;
20 scanf("%d",&c);
21 while(c--)
22 {
23 scanf("%d%d",&n,&m);
24 for(i=0;i<m;i++)
25 {
26 scanf("%d%d",&s[i].dan,&s[i].liang);
27 }
28 sort(s,s+m,cmp);
29 int sum=0; //sum为所花的钱数,n为总钱数,x为购买的数量
30 x=0.0;
31 for(i=0;i<m;i++)
32 {
33 if(sum+s[i].dan*s[i].liang>n) { x+=(double)(n-sum)/s[i].dan; break;} //强制类型转化(double)
34 else
35 {
36 sum+=s[i].dan*s[i].liang;
37 x+=(double)s[i].liang; //强制类型转换 是非常有必要的,否则会损失精度
38 }
39 }
40 printf("%.2lf
",x);
41 }
42 return 0;
43 }