当前位置: 首页 > 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.jsqmd.com/news/56929/

相关文章:

  • 哈尔滨装修安装工程企业TOP5权威推荐:助力洁净空间品质升级
  • 炼油设备厂家TOP5权威推荐:甄选靠谱大型厂家,赋能工业固废
  • WMS 仓库管理系统怎么选择?
  • VW/Audi MQB All Keys Lost: Hassle-Free SYNC Data Calculations with Xhorse VVDI Autel
  • 快捷键和Dos命令
  • 2025年哈尔滨十大有名的装修安装工程公司推荐,口碑不错的装
  • 2025年度全屋定制品牌生产厂哪家更值得选?5大实力厂商排行
  • 列表弹窗实现方案整理
  • 硬盘检测修复工具!实时监测硬盘健康度、温度、还能修复扇区!
  • 【日记】第一次约拍别人呢(1165 字)
  • 02.Class对象的理解
  • 2025年12月楼梯厂家最新十大品牌推荐,技术实力与市场口碑深度解析,家装定制品牌榜及选择指南,更能一站式搞定木门/衣柜/橱柜/护墙板
  • 添加断言
  • 2025哈尔滨净化改造工程TOP5权威推荐:甄选企业守护洁净
  • 全屋定制制造厂TOP5权威推荐:售后与品质双优之选,破解行业
  • Windows 11网络共享文件夹无法访问
  • 2025 TOPDON ArtiDiag 900 Lite 8 Scan Tool: Full System Diagnostics 8 Resets for EU/US Cars
  • 2025年黑龙江十大改造工程专业公司推荐:改造工程公司
  • C#AI系列(3):31mb单文件exe实现姿态检测-将Yolo装进口袋
  • 2025年全屋定制品牌制造企业选择哪家好?全屋定制品牌生产厂
  • [论文阅读] AI+ | GenAI重塑智慧图书馆:华东师大实践AI虚拟馆员,解放馆员聚焦高价值任务 - 详解
  • 2025年黑龙江十大医疗工业改造工程公司推荐:口碑不错的改造
  • 2025年哈尔滨全屋定制公司口碑排名:久木定制,五家靠谱品牌
  • 详细介绍:【JUnit实战3_27】第十六章:用 JUnit 测试 Spring 应用:通过实战案例深入理解 IoC 原理
  • 2025年哈尔滨全屋定制品牌十大排行榜,久木定制测评推荐
  • 中电金信:这个AI“专家系统”,让智能体真正懂金融、落地可控
  • K-D Tree 相关
  • TopDiag P181 Wire Finder: Effortlessly Locate Automotive Wire Breakpoints Short Circuits
  • 2025年最新工业冷风机性能排行榜TOP10,生产车间厂房降温/橡胶车间通风降温/车间厂房工厂通风降温工业冷风机厂商推荐榜单
  • 麒麟V10服务器配置网络 - 华