Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
113250 毛泓博(做题专用,大号Fess) 0/1背包 C++ 解答错误 30 0 MS 248 KB 456 2023-12-02 07:44:21

Tests(3/10):


#include<bits/stdc++.h> #define int long long using namespace std; int m,n,s,ans,l; 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; } signed 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) { l=i; ans+=cw[i].c; s+=cw[i].w; } } if(s<m) ans+=cw[l+1].w*1.0/cw[l+1].c*(m-s); cout<<ans; }


测评信息: