求大佬们看下代码:
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
struct node {
int v, w, p;
};
bool cmp(node a, node b) {
if(a.v != b.v) {
return a.v < b.v;
} else {
return a.w > b.w;
}
}
int main() {
int n, m;
cin>>n>>m;
node d[m];
for(int i=0; i<m; i++) {
cin>>d[i].v>>d[i].w;
d[i].p = d[i].v * d[i].w;
}
sort(d, d+m, cmp);
int s=0, ans=0;
for(int i=0;; i++) {
n -= d[i].v;
if(n < 0) {
break;
}
ans += d[i].p;
}
cout<<ans;
return 0;
}
```