news 2026/2/3 15:17:38

CF767E-Change-free

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CF767E-Change-free

CF767E-Change-free

题目大意

你接下来n nn天回去食堂吃饭,而且现在你已经决定好了吃什么,所以你在接下来的第i ii天,花费c i c_ici元。

交易时只允许使用1 11元的硬币和100 100100元的纸币,你初始有m mm硬币和无限多的纸币。在其中的某些天你可能不够正好支付c i c_ici元,所以会面临找零。但是收银员在找零时会产生不满。如果收银员在第i ii天找了x xx纸币和硬币。那么会产生x ⋅ w i x \cdot w_ixwi点不满。收银员总是尽量用最少的硬币和纸币找零。

你希望使得收银员总不满尽可能小。你需要确认在接下来n nn天的最小总不满和如何支付的方案。

题解

考虑贪心,现在手上有的硬币如果满足当天所需,则尽可能使用。否则就找到在此之前不满程度最小的一天,来找零。对于被找零的那天,本身花了c i % 100 c_i \% 100ci%100元,现在不仅没花,而且获得了100 − c i % 100 100-c_i \% 100100ci%100元,所以一次找零的贡献是固定的100 100100。因此对于每一天来说都有一个固定的不满,和一样的贡献。所以用优先队列维护不满最小值。每次取最小值即可。

#include<bits/stdc++.h>#defineiosios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#defineumapunordered_map#defineendl'\n'usingnamespacestd;usingi128=__int128;constintmod=1e9+7;template<typenameT>voidread(T&x){x=0;intf=1;charc=getchar();for(;!isdigit(c);c=getchar())if(c=='-')f=-1;for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);x*=f;}template<typenameT>voidprint(T x){if(x<0){putchar('-');x=-x;}if(x>9)print(x/10);putchar(x%10+'0');}#defineintlonglongconstintN=500005;constintM=2000005;map<int,int>ans;inlinevoidsolve(){ans.clear();intn,m;cin>>n>>m;vector<int>num(n+1);for(inti=1;i<=n;i++){cin>>num[i];}vector<int>w(n+1);for(inti=1;i<=n;i++)cin>>w[i];priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>q;intcost=0;for(inti=1;i<=n;i++){if(num[i]%100==0)continue;q.push({(100-(num[i]%100))*w[i],i});if(m<num[i]%100){m+=100;cost+=q.top().first;ans[q.top().second]++;q.pop();}m-=num[i]%100;// cout<<m<<endl;}cout<<cost<<endl;for(inti=1;i<=n;i++){if(ans[i]){cout<<num[i]/100+1<<" "<<0<<endl;}else{cout<<num[i]/100<<" "<<num[i]%100<<endl;}}}signedmain(){ios;intT=1;// cin>>T;for(;T--;)solve();return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 8:55:03

YOLO目标检测在石油化工中的应用:泄漏检测预警

YOLO目标检测在石油化工中的应用&#xff1a;泄漏检测预警 在炼油厂的清晨薄雾中&#xff0c;一段高温管道接口处悄然逸出一股白色蒸汽——肉眼难以察觉&#xff0c;却可能预示着高压密封失效。传统传感器或许因位置偏移而漏报&#xff0c;但架设在高处的工业摄像头早已将这一帧…

作者头像 李华
网站建设 2026/1/20 19:22:40

YOLO模型训练Warmup阶段设置:平稳启动GPU训练

YOLO模型训练Warmup阶段设置&#xff1a;平稳启动GPU训练 在工业级计算机视觉系统中&#xff0c;实时目标检测是实现自动化感知的核心能力之一。YOLO&#xff08;You Only Look Once&#xff09;系列自问世以来&#xff0c;凭借其“单阶段、端到端、高速高精度”的特性&#xf…

作者头像 李华
网站建设 2026/1/29 8:26:56

CIU32F003单片使用JLINK 下载程序

简 介&#xff1a; 本文测试了使用JLINK调试器高速下载CIU32F003单片机程序的可行性。实验发现&#xff0c;尽管将JLINK的SWD时钟速率提升至50MHz&#xff0c;但在单片机复用SWD引脚后仍无法正常下载程序。最终验证最可靠的方法是通过DAP Link配合电源延迟上电模块&#xff0c;…

作者头像 李华
网站建设 2026/2/1 2:48:29

使用带有RESET 的 CIU32单片机,利用JLink进行下载

简 介&#xff1a; 本文测试了使用JLink下载CIU32F003单片机程序的方法。通过TSSOP20封装单片机设计测试电路&#xff0c;发现必须将JLink的Reset信号连接到单片机RST管脚&#xff0c;并在程序初始化前设置225ms以上的延迟时间&#xff0c;才能成功下载程序。实验表明&#xff…

作者头像 李华
网站建设 2026/2/2 19:40:59

Linux 信号发送和保存

1.信号的发送操作系统是所有进程的管理者&#xff0c;所以对于进程的信号发送也肯定是操作系统进行操作的。其实所谓的32个普通信号&#xff0c;为什么会是32个呢&#xff1f;其实也刚刚好对于一个int的32个比特位&#xff0c;所以说所谓的“发信号”&#xff0c;本质就是操作系…

作者头像 李华
网站建设 2026/2/3 1:31:21

YOLOv10模型结构简化:去除冗余层提升GPU推理速度

YOLOv10模型结构简化&#xff1a;去除冗余层提升GPU推理速度 在一条高速运转的电子产品装配线上&#xff0c;每分钟有数百块电路板流过质检工位。传统视觉检测系统偶尔因“卡顿”漏检微小焊点缺陷——问题不出在算法精度&#xff0c;而在于那毫秒级波动的推理延迟。正是这类真实…

作者头像 李华