当前位置: 首页 > news >正文

笔试训练48天:

链接:https://ac.nowcoder.com/acm/problem/26221
来源:牛客网

题目描述

chika很喜欢吃蜜柑。每个蜜柑有一定的酸度和甜度,chika喜欢吃甜的,但不喜欢吃酸的。
一共有n个蜜柑,chika吃k个蜜柑,将获得所吃的甜度之和与酸度之和。chika想获得尽可能大的甜度总和。如果有多种方案,她希望总酸度尽可能小。
她想知道,最终的总酸度和总甜度是多少?

输入描述:

第一行有两个正整数n和k,分别代表蜜柑总数和chika吃的蜜柑数量。(1≤k≤n≤200000) 第二行有n个正整数ai,分别代表每个蜜柑的酸度。(1≤ai≤1e9) 第三行有n个正整数bi,分别代表每个蜜柑的甜度。(1≤bi≤1e9)

输出描述:

两个正整数,用空格隔开。分别表示总酸度和总甜度。

示例1

输入

3 2 1 3 4 2 2 5

输出

5 7

说明

选择1号和3号蜜柑,总酸度为5,总甜度为7,为最优解。

思路:topk问题类似,排序取大的

#include <iostream> #include <algorithm> using namespace std; const int N=2e5+10; typedef pair<int,int>PII;//<酸度,甜度> PII arr[N]; int n,k; int main() { int n,k; cin>>n>>k; for(int i = 0; i < n; i++) cin >> arr[i].first; for(int i = 0; i < n; i++) cin >> arr[i].second; sort(arr, arr + n, [&](const PII& a, const PII& b) { if(a.second != b.second) return a.second > b.second; else return a.first < b.first; }); long long s = 0, t = 0; for(int i = 0; i < k; i++) { s += arr[i].first; t += arr[i].second; } cout << s << " " << t << endl; return 0; }

知识点:

1.std::pair语法详解

template <class T1, class T2> struct pair { T1 first; // 第一个元素 T2 second; // 第二个元素 // 构造函数、赋值运算符等成员函数 };

2.sort(arr, arr + n, [&](const PII& a, const PII& b)

sort(arr, arr + n, [&](const PII& a, const PII& b) { if(a.second != b.second) return a.second > b.second; else return a.first < b.first; });

1.sort(arr, arr + n, ...)

  • arr是数组起始指针

  • arr + n是数组结束位置(指向最后一个元素之后)

  • 第三个参数是一个比较函数,用来决定两个元素的先后顺序

2.[&]—— 捕获列表

  • &表示按引用捕获所有外部变量(比如函数外的nk等)

  • 在这个 lambda 内部可以使用外部变量(尽管这里没有用到,但写[&]是允许的)

3.(const PII& a, const PII& b)—— 参数列表

  • PII就是std::pair<int, int>的别名

  • ab是待比较的两个元素

  • const &避免拷贝,提高效率

4. 函数体 —— 比较逻辑

if(a.second != b.second) return a.second > b.second; // 甜度不同时,甜度大的排在前面(降序) else return a.first < b.first; // 甜度相同时,酸度小的排在前面(升序)
  • a.second > b.second返回true表示a应该排在b前面

  • 这就是甜度降序,酸度升序的规则

http://www.zskr.cn/news/1417455.html

相关文章:

  • 2026 赤峰车膜门店推荐排行:首选这家,口碑与实力双第一 - 资讯快报
  • 2026年栀子花香水推荐深度测评:如何为不同需求匹配最佳方案? - 资讯快报
  • 2026年青少年同性好感困惑咨询机构选择指南:专业适配与长沙本地服务解析 - 资讯快报
  • 最小 SOFA XML 场景结构 0-base.scn
  • PCA 数值计算
  • 达梦数据库DM8视图入门——简化查询、权限控制与数据安全
  • 2026 赤峰车衣门店电话|首选这家!口碑评分 4.9 分✨ - 资讯快报
  • 2026兰州卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房渗漏 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 防水百科
  • 2026国产外夹式超声波流量计十大品牌权威测评:技术实力与市场表现深度解析 - 水质仪表品牌排行榜
  • Windows和Ubuntu共享键鼠失败?三步搞定Synergy/Barrier的SSL连接报错
  • 上海办公室装修公司怎么挑 避开这几家误区帮你省心 - 资讯快报
  • AI Agent实测:Agent Store现成应用如何重塑企业自动化?
  • Figma汉化教程|Windows FigmaEX汉化版功能介绍、下载安装及使用技巧全攻略
  • 广东智惠渔业设备制造有限公司的联系方式、联系电话、联系地址、怎么联系 - 寻茫精选
  • CANoe自动化测试进阶:巧用writeToLog和writeToLogEx给你的日志文件打上“书签”
  • 新项目该怎么入手?我用Claude code 接入小米mimo复盘黑马点评,看他的思路是什么。
  • 2026日喀则卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房渗漏 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 防水百科
  • 2026年电力设备厂家推荐榜单:变压器/电力变压器、低压柜/高压柜、箱变、并网柜与光伏低压变实力品牌全解析 - 品牌企业推荐师(官方)
  • 通过环境变量为Hermes Agent配置Taotoken自定义模型源
  • 2026清远卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房渗漏 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 防水百科
  • 2026揭阳卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房渗漏 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 防水百科
  • 新手教程使用Python和Taotoken密钥调用ChatCompletions接口
  • 支付接入后的MiniMax:商业化闭环观察
  • 用 Agent 重现《黑镜》剧情
  • 2026长沙卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房渗漏 本地专业防水公司TOP5权威推荐(2026年6月本地最新深度调研) - 防水百科
  • R+VIC模型融合实践技术应用及未来气候变化模型预测
  • 告别傻等!用CAPL的TestWaitForSignal系列函数,精准控制你的自动化测试流程
  • NHSE:动物森友会存档编辑器的3大核心价值与完整实践指南
  • 苏州工业园区黄金回收实录:星港街这家临街老店到底靠不靠谱? - 百福黄金回收
  • 从Vivado 2018迁移到2022:一个FPGA工程师踩过的那些‘坑’与填坑指南