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

CF767E-Change-free

CF767E-Change-free

题目大意

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

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

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

题解

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

#include<bits/stdc++.h>
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define umap unordered_map
#define endl '\n'
using namespace std;
using i128 = __int128;
const int mod =1e9+7;
template <typename T>void read(T&x){x=0;int f = 1;char c=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 <typename T>void print(T x) {if (x < 0) { putchar('-'); x = -x; }if (x > 9) print(x / 10);putchar(x % 10 + '0');
}
#define int long long
const int N=500005;
const int M=2000005;
map<int,int> ans;
inline void solve()
{ans.clear();int n,m;cin>>n>>m;vector<int> num(n+1);for(int i=1;i<=n;i++) {cin>>num[i];}vector<int> w(n+1);for(int i=1;i<=n;i++) cin>>w[i];priority_queue<pair<int,int> ,vector<pair<int,int>>,greater<pair<int,int>> > q;int cost=0;for(int i=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(int i=1;i<=n;i++){if(ans[i]){cout<<num[i]/100+1<<" "<<0<<endl; }else{cout<<num[i]/100<<" "<<num[i]%100<<endl;}}
}signed main()
{ios;int T=1;
//	cin>>T;for(;T--;) solve();return 0;
}
http://www.gsyq.cn/news/67196.html

相关文章:

  • 2025年哈尔滨十大有名的装修安装工程公司推荐,口碑不错的装
  • 2025年12月楼梯厂家最新十大品牌推荐,技术实力与市场口碑深度解析,家装定制品牌榜及选择指南,更能一站式搞定木门/衣柜/橱柜/护墙板
  • Windows 11网络共享文件夹无法访问
  • 2025年黑龙江十大改造工程专业公司推荐:改造工程公司
  • [论文阅读] AI+ | GenAI重塑智慧图书馆:华东师大实践AI虚拟馆员,解放馆员聚焦高价值任务 - 详解
  • K-D Tree 相关
  • 2025年最新工业冷风机性能排行榜TOP10,生产车间厂房降温/橡胶车间通风降温/车间厂房工厂通风降温工业冷风机厂商推荐榜单
  • 麒麟V10服务器配置网络 - 华
  • 在AI技术唾手可得的时代,挖掘安全测试新需求成为关键——某知名Web安全训练平台需求探索
  • 基于Matlab的压缩感知信道估计算法实现
  • 2025年广州优质精装现楼厂房租赁排行榜,资质齐全/售后完善
  • UML进阶:深入理解类图和序列图
  • TOPDIAG P200 Pro: New Generation Intelligent Circuit Detector for All 9V-48V Cars, Trucks Boats
  • 腾讯云服务器-无法访问问题排查
  • 2025 Alldata Online Account: Comprehensive Auto Repair Data Diagrams for EU/US Mechanics Owners
  • 16QAM调制的OFDM传输MATLAB仿真
  • 2025年网站建设服务商深度评测:严选十大专业网站设计公司实力派推荐
  • ICLR 2025 | 中科院+哈工大重磅发现:预训练视觉模型分类越准,可解释性越强
  • spiderdemo T2
  • 2025年常州鲜珍珍雪山草鸡火锅店:旅行必吃与直营店精选指南
  • 邹孝言-肥东三中2025级41班的数学课代表
  • 2025年常州十大钢结构厂房定制公司推荐:钢结构厂房怎么联系
  • FDCAN的4种过滤器类型
  • SQL Server 收缩日志
  • ubuntu_12.04_nfs安装与设置
  • Java记录类入门:简化的以数据为中心的Java编程
  • 2025年cpvc化工管源头厂家权威推荐榜单:upvc化工管/pph化工管/pph工业管源头厂家精选
  • 2025年仓储货架厂家综合实力排行榜:三阳货架领跑行业
  • 2025年密封垫片生产厂家联系方式完整汇总:全国重点企业官方联系方式与高效采购指引
  • 2025年真空袋厂家联系电话完整汇总:全国重点产区企业联系方式及高效采购指引