FatMouse'Trade
#include<bits/stdc++.h>
using namespace std;
struct door {
double w;
double p;
bool operator < (const door & a) {
return w/p>a.w/a.p;
}
};
int main() {
int m,n;
while(cin>>m>>n) {
if(m==-1&&n==-1) {
break;
}
door a[n];
for(int i=0; i<n; i++) {
cin>>a[i].w>>a[i].p;
}
sort(a,a+n);
double answer=0;
for(int i=0; i<n; i++) {
if(m>=a[i].p) {
answer+=a[i].w;
m-=a[i].p;
} else {
answer+=a[i].w/a[i].p*m;
break;
}
}
printf("%.3f\n",answer);
}
return 0;
}
using namespace std;
struct door {
double w;
double p;
bool operator < (const door & a) {
return w/p>a.w/a.p;
}
};
int main() {
int m,n;
while(cin>>m>>n) {
if(m==-1&&n==-1) {
break;
}
door a[n];
for(int i=0; i<n; i++) {
cin>>a[i].w>>a[i].p;
}
sort(a,a+n);
double answer=0;
for(int i=0; i<n; i++) {
if(m>=a[i].p) {
answer+=a[i].w;
m-=a[i].p;
} else {
answer+=a[i].w/a[i].p*m;
break;
}
}
printf("%.3f\n",answer);
}
return 0;
}