提交时间:2023-12-02 07:39:48

运行 ID: 113248

#include<bits/stdc++.h> using namespace std; int m,n,s,ans; struct node { int c,w; }cw[1001]; bool cmp(node a,node b) { return a.c*1.0/a.w>b.c*1.0/b.w; } int main() { cin>>m>>n; for(int i=1;i<=n;i++) cin>>cw[i].w>>cw[i].c; sort(cw+1,cw+n+1,cmp); for(int i=1;i<=n;i++) { if(s+cw[i].w<=m) { ans+=cw[i].c; s+=cw[i].w; } } cout<<ans; }