1 条题解
-
0
#include<bits/stdc++.h> #define ULL unsigned long long #define int long long #define endl '\n' #define debug(a) cout<<#a<<"="<<a<<endl; #define all(v) v.begin(), v.end() #define PII pair<int,int> using namespace std; constexpr int N = 1 *1e6 + 10,M = 5 * 1e3 + 10,inf = 0x3f3f3f3f; struct node { double w,v; double po; //权重 }; bool cmp(node a,node b) //权重从大到小排序 { return a.po > b.po; } void solve() { double m; int n; cin >> m >> n; vector<node> c(n); for(int i=0;i<n;i++) { cin>>c[i].w>>c[i].v; c[i].po = c[i].v * 1.0 / c[i].w; } sort(all(c),cmp); double ans = 0; for(auto [w,v,po] : c) { if(m - w <= 0) { ans += po * m; break; } m -= w; ans += v; } printf("%.2f\n",ans); } signed main() { ios::sync_with_stdio(0);cin.tie(nullptr),cout.tie(nullptr); int _=1; cin>>_; while(_--) { solve(); } return 0; } /** * author: Nijika_jia * created: 2024.10.20 23:08:44 */
- 1
信息
- ID
- 1120
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者