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

Div. 2 CF 1106A题

题目链接:https://codeforces.com/contest/2238/problem/A

题目大意:给定两个数组a,b,现在我们需要对a数组进行以下两个操作让其变为b数组

-选择a[i](1<=i<=n),使得a[i]变为a[i]-1,所耗费时间为1s

-对a数组进行任意方式进行重新排列,所耗费时间为Cs

现在要我们求出最少耗费时间,如果没有合理方案则输出-1

题目思路:

我们可以先判断是否存在合法方案,那么我们可以对a,b数组进行排序,在排序之前我们定义c,d两个数组记录未排序的a,b数组,只要a数组中有任意一个元素是小于b中对于下标元素,那么就一定不合法,反之则一定存在合法方案,接着我们,就可以分情况对ans计数了,必须要排列是一种情况,不需要排列和可能排列又是一种情况(取最小值)

代码如下:

#include<bits/stdc++.h> using namespace std; //#define int long long #define endl "\n" void solve(){ int n, c; cin>>n>>c; vector<int> a(n),b(n); for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ cin>>b[i]; } vector<int> c1(n), d(n); c1 = a; d = b; sort(a.begin(),a.end()); sort(b.begin(),b.end()); for (int i = 0; i < n;i++){ if(a[i]<b[i]){ cout << -1 << endl; return; } } int ans = 0; int flag=true; for (int i = 0; i < n;i++){ if(c1[i]>d[i]){ ans+=(c1[i]-d[i]); continue; } if(c1[i]<d[i]){ flag=false; break; } } //cout<<ans<<endl; //cout<<"flag: "<<flag<<endl; if(flag){ int ans2 = 0; for (int i = 0; i < n;i++){ ans2+=(a[i]-b[i]); } int res = min(ans2 + c, ans); cout << res << endl; }else{ int ans2 = 0; for (int i = 0; i < n;i++){ ans2+=(a[i]-b[i]); } cout << ans2 + c << endl; } } signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin>>T; while(T--){ solve(); } return 0; }
http://www.jsqmd.com/news/1098350/

相关文章:

  • Windows 11终极清理指南:5分钟让电脑重获新生
  • 影刀RPA新手教程:写入Excel单元格完全指南——把变量里的内容写到Excel里
  • MultiFunPlayer:15分钟掌握专业设备同步与脚本控制
  • RSA加密算法破解方法深度研究报告
  • DeepSeek/ChatGPT 内容一键导出 Word,格式完美不乱|免费开源扩展推荐
  • 影刀RPA新手教程:填写第一个输入框——怎么在网页上自动填文字
  • 终极方案:简单实现Android手机USB网络共享到Mac的完整指南
  • 影刀RPA新手教程:列表完全指南——什么是列表、怎么往里加东西、怎么取出来
  • Taskt终极指南:免费开源RPA自动化工具快速上手
  • 影刀RPA新手教程:大众点评数据采集完全指南——店铺信息、用户评价与竞争对手分析
  • 终极指南:5步快速掌握Unity 3D模型导入神器GLTFUtility
  • 告别CMAC!NIST SP800-108新版密钥派生实战:手把手教你用KMAC128/256
  • 华硕笔记本终极轻量控制方案:GHelper完全使用指南
  • 零基础Linux运维实战:Zabbix、Docker、MySQL、Nginx部署与监控
  • 【毕业设计】古典舞在线交流平台 SpringBoot+Vue 完整源码(含论文+数据库,可运行)
  • 影刀RPA新手教程:变量是什么——用生活中的盒子来类比
  • 【公共云三十问 之一】什么是公共云?
  • 终极指南:Destiny 2 Solo Enabler端口配置完全掌控
  • 中间件安全攻防实战:从CVE漏洞复现到纵深防御体系构建
  • 告别LED闪烁:用串口助手和printf()给你的51单片机代码做个“体检”
  • ai模特动态换装全流程指南,图片生图与批量工具实测对比
  • MySQL数据分析入门:从零搭建环境到电商实战案例
  • 影刀RPA新手教程:天猫旗舰店自动化完全指南——SKU管理、促销配置与客服消息处理
  • 保姆级教程:用SigmaStudio配置A2B数字麦克风(AD2428WD-EVB主控,AD2428WC-EVB从板)
  • Linux 块设备驱动开发:从请求队列到 I/O 调度的内核路径解析
  • SENAITE LIMS:实现实验室数字化转型的智能解决方案
  • 用过 5 个 AI 写论文才发现:笔墨 AI 才是真的适配高校学术规范
  • 系统分析师精简版知识点+考点
  • Codex ENOTFOUND 域名解析失败解决方法
  • 2026年最火的词“前额叶友好“到底在说什么?一篇说清