C - Job Interview

2024-06-01 07:04
文章标签 job interview

本文主要是介绍C - Job Interview,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思路:

先不考虑溢出,将n+m+1按照分配的工作分类

会发现,有且仅有一种工作的人数是溢出的,即超过了上限,记作工作1;且另一种工作的人数没有溢出,记作工作2

工作2因为没有溢出,不管没来的那个人是谁,工作2的人还是做工作2,不受影响

工作1溢出了,若没来的那个人在工作1前n个位置,答案是工作1前n+1个人做工作1+其他人做工作2-没来的那个人做工作1;

其他情况答案是前n个人做工作1+其他人做工作2-没来的那个人做工作2

代码:

void solve(){int n,m;cin>>n>>m;int k=n+m+1;vector<int>a(k),b(k);for(int i=0;i<k;i++) cin>>a[i];for(int i=0;i<k;i++) cin>>b[i];vector<int>f(k);vector<vector<int>>p(2);for(int i=0;i<k;i++){if(a[i]>b[i]){f[i]=0;p[0].push_back(i);} else{f[i]=1;p[1].push_back(i);} }if(p[0].size()<=n){swap(n,m);swap(a,b);swap(p[0],p[1]);for(int i=0;i<k;i++) f[i]^=1;}ll s1=0,s2=0;for(int i=0;i<n;i++){int j=p[0][i];s1+=a[j];}for(int i=n;i<p[0].size();i++){int j=p[0][i];s1+=b[j];}for(auto j:p[1]){s1+=b[j];}s2=s1+a[p[0][n]]-b[p[0][n]]; //s1是前n个人工作1,后m+1个人工作2,s2是前前n + 1个人工作1,后m个人工作2vector<ll>ans(k);int cnt=0;for(int i=0;i<k;i++){if(f[i]==0&&cnt<n) ans[i]=s2-a[i];else ans[i]=s1-b[i];if(f[i]==0) cnt++;}for(auto x:ans){cout<<x<<' ';}cout<<'\n';
}

这篇关于C - Job Interview的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020310

相关文章

XXL-JOB实践:从零开始构建你的任务调度系统

目录 一、序言1、系统组成2、架构图 二、部署调度中心1、下载源码2、执行数据库脚本3、修改application.properties配置文件4、启动调度中心 三、部署执行器1、引入依赖2、执行器配置2.1 XxlJobProperties属性文件2.2 XxlJobConfig配置类2.3 XxlJobHanlder作业处理器2.4 application.yml 3、启动执行器 四、调

XXL-JOB分布式任务调度教程(持续更新~)

先大致声明一下流程(具体细节在下面哦~)  步骤: 1.下载xxl-job并配置以及启动 2.导入对应maven坐标 3.配置对应的配置文件以及编写对应的配置类config 4.编写要触发的方法并且给方法打上@XXlJob("")注解 5.设置xxl-Job平台上的任务    5.1创建执行器  5.2创建任务,5,3配置任务具体细节(比如  (1触发执行器,(2执行时间,(3运行模式,(4以

App使用Job中遇到的WAIT DEV_NOT_DOZING的解决方案

摘要: 由于原生Job机制会使用Doze的白名单,故遇到WAIT:DEV_NOT_DOZING现象,一般配置为Whitelist user apps名单即可解决问题 Doze名单类型 配置对象 配置方法 影响 Whitelist user apps 第三方应用 1.Adb shell 命令:adb shell dumpsys deviceidle whitelist +com.t

如何解决XXL-JOB依赖包冲突导致的`XxlJobSpringExecutor`类找不到问题

如何解决XXL-JOB依赖包冲突导致的XxlJobSpringExecutor类找不到问题 在Java项目开发中,依赖包冲突是一个常见问题,尤其是在多个项目之间存在传递性依赖的情况下。本文将以XXL-JOB项目中的 XxlJobSpringExecutor 类找不到为例,介绍如何在依赖冲突场景下排查并解决问题。 问题背景 我们在项目A中使用了XXL-JOB进行任务调度,项目A依赖于项目B,而

专访当当网张亮:深度解读分布式作业调度框架elastic-job

摘要:日前,笔者采访了当当网架构师、当当技术委员会成员张亮,在本次采访中他主要分享了对架构师的理解,以及重点解读了分布式作业调度框架elastic-job是什么、架构设计思路、具体模块的底层及如何实现等。 【编者按】互联网从诞生到现在,网站的规模不断扩大,存储和处理的数据量也远远超出了人们的想象,又随着对信息实时性、多媒体需求大幅增长的现象,互联网架构面临越来越大的挑战。CSDN致力于

搭建 xxl-job 执行器项目

文章目录 1、添加xxl-job-core依赖2、修改执行器配置3、添加执行器配置类4、给执行器添加任务 1、添加xxl-job-core依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><

xxl-job介绍

文章目录 1、现有的定时任务存在缺点:2、分布式定时任务xxl-Job3、项目结构 1、现有的定时任务存在缺点: 定时任务和触发机制耦合(使用xxl-job统一定义任务及管理任务,任务代码和触发机制解耦合)修改触发机制需要重启(使用xxl-job统一配置不重启)不具备分布式 2、分布式定时任务xxl-Job xxl(作者:许雪里)官方网站:https://www.xuxuel

《花100块做个摸鱼小网站! 》第五篇—通过xxl-job定时获取热搜数据

⭐️基础链接导航⭐️ 服务器 → ☁️ 阿里云活动地址 看样例 → 🐟 摸鱼小网站地址 学代码 → 💻 源码库地址 一、前言 我们已经成功实现了一个完整的热搜组件,从后端到前端,构建了这个小网站的核心功能。接下来,我们将不断完善其功能,使其更加美观和实用。今天的主题是如何定时获取热搜数据。如果热搜数据无法定时更新,小网站将失去其核心价值。之前,我采用了@Scheduled注解来实现定

git pull失败提示fatal: Unable to create 'E:/job/tpaas-web/.git/index.lock': File exists.

git 提交时失败   提示如下错误:fatal: Unable to create 'E:/job/tpaas-web/.git/index.lock': File exists.   解决方法:删除.lock文件       rm -f ./.git/index.lock 命令执行后再次pull

干掉xxl-job:elastic-job王者归来

点击上方“朱小厮的博客”,选择“设为星标” 后台回复"书",获取推荐书籍 导读: 调度(Scheduling)在计算机领域是个庞大概念,CPU 调度、内存调度、进程调度等都可称之为调度。它是指在特定的时机分配合理的资源去处理预先确定的任务,用于在适当的时机触发一个包含业务逻辑的应用。调度无论在单机还是分布式环境中都是很重要的课题。在单机环境,调度与底层操作系统脱离不了干系;而在分布式环境中,