87分求助
#include<bits/stdc++.h>
using namespace std;
struct nanong
{
int dj;
int sl;
}a[100001];
bool cmp(struct nanong x,struct nanong y)
{
if(x.dj > y.dj)return 0;
else return 1;
}
int main()
{
int n,m,cnt = 0,sum = 0;
cin >> n >> m;
for(int i = 1;i <= m;i++)
{
cin >> a[i].dj >> a[i].sl;
}
sort(a + 1,a + m + 1,cmp);
int i = 1;
do{
cnt += a[i].sl;
sum += a[i].sl * a[i].dj;
i ++;
}while(cnt < n);
cnt -= a[i - 1].sl;
sum -= a[i - 1].sl * a[i - 1].dj;
sum += (n - cnt) * a[i - 1].dj;
cout << sum << "\n";
return 0;
}