/* 2187 悼念512汶川大地震遇难同胞——老人是真饿了 简单题 取单价最低开始 */ #include<iostream> #include<algorithm> using namespace std; struct dami{ int price; int num; }; bool cmp(dami a,dami b) { return a.price<b.price; } int main(){ int i,n,m,k; float sum; dami t[1001]; scanf("%d",&k); while(k--) { scanf("%d %d",&n,&m); //经费的金额和大米的种类 for(i=0;i<m;i++) scanf("%d %d",&t[i].price,&t[i].num); sort(t,t+m,cmp); sum=0; for(i=0;i<m;i++) { if(n>=t[i].price*t[i].num) { sum+=t[i].num; n-=t[i].price*t[i].num; } else { sum+=1.0*n/t[i].price; n=0; } if (n==0) break; } printf("%.2f\n",sum); } return 0; }