这是代码```c
#include<bits/stdc++.h>
using namespace std;
typedef struct M{
long long v,w;
};
M a[1000001];
bool cmp(const M &a ,const M &b){
if(a.v<b.v)return 1;
if(a.v>=b.v)return 0;
// if(a.v==b.v){
// if(a.w>=b.w)return 1;
// return 0;
// }
}
int main(){
long long m,n;
std::cin>>m>>n;
for(long long i=1;i<=n;i++){
std::cin>>a[i].v>>a[i].w;
}
sort(a+1,a+1+n,cmp);
long long i=1,p=0;
while(m>0){
if(a[i].w<=m){
m-=a[i].w;p+=a[i].w*a[i].v;
i++;
}else{
p+=m*a[i].v;
m=0;
}
}
std::cout<<p;
}
中间注释是为了在价格相同时,优先选择拥有更多牛奶的奶农,可以加快速度(doge)但不知道为什么,加了就有1RE