Problem Description
Input
Output
Example Input
1
7 2
3 3
4 4
Example Output
2.33
#include<stdio.h>
#include<string.h>
struct node
{
int p;
int h;
int ph;
}a[1000],abc;
void sort (int m)
{
int i,j;
for(i=0;i<m-1;i++)
{
for(j=0;j<m-1-i;j++)
{
if(a[j].p>a[j+1].p)
{
abc=a[j];
a[j]=a[j+1];
a[j+1]=abc;
}
}
}
}
int main()
{
int c;
int n,m;
int i,j;
double max=0;
scanf("%d",&c);
while(c--)
{
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d%d",&a[i].p,&a[i].h);
a[i].ph=a[i].p*a[i].h;
}
sort(m);
max=0;
for(i=0;n>0&&i<m;i++)
{
if(n>=a[i].ph)
{
n-=a[i].ph;
max+=a[i].h;
}
else
{
max+=(1.0*n)/a[i].p;
n=0;
}
}
printf("%.2lf\n",max);
}
return 0;
}