尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Div. 2 CF 1106A题

Div. 2 CF 1106A题
📅 发布时间:2026/6/30 21:22:28

题目链接: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; }

相关新闻

  • MultiFunPlayer:15分钟掌握专业设备同步与脚本控制
  • RSA加密算法破解方法深度研究报告
  • 影刀RPA新手教程:填写第一个输入框——怎么在网页上自动填文字

最新新闻

  • 如何快速掌握浏览器资源嗅探:猫抓Cat-Catch扩展的终极完整指南
  • 二、Prometheus 安装和配置
  • 【安卓程序】古诗500首卡片式-墨韵诗笺 · 部署与优化指南
  • TVA在具身智能产业化体系的落地案例详解(2)
  • 姿态估计数据集准备与 COCO 关键点标注实战
  • 别再只会Ctrl+Alt+T了!VMware Workstation 17 Pro里这5个隐藏指令,效率翻倍

日新闻

  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号