第二题c++题解 #include<iostream> (30316)#include<vector> #include<algorithm> (30190)#include <iomanip> using namespace std; static bool cmp(pair<int, int>&; a, pair<int, int>&; b) { return(a.first * 100 - a.first * a.second) >= (b.first * 100 - b.first * b.second); } int main() { int n, m; cin >> n; cin >> m; vector<int> p(n); vector<int> f(n); for (int i = 0; i < n; i++) { int tmp; cin >> tmp; p[i] = tmp; } for (int i = 0; i < n; i++) { int tmp; cin >> tmp; f[i] = tmp; } vector<pair<int, int>> nums(n); for (int i = 0; i < n; i++) { nums[i].first = f[i]; nums[i].second = p[i]; } sort(nums.begin(), nums.end(),cmp); double res = 0; for (int i = 0; i < n; i++) { if (i < m) { res += nums[i].first; } else { res += (double)(nums[i].first * nums[i].second) / 100.0; } } cout << fixed << setprecision(2) << (double)res; return 0; }

相关推荐

05-09 13:22
门头沟学院 Java
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
牛客网
牛客企业服务