华为od 员工派遣 C++

华为od 员工派遣 C++

题目描述

某公司部门需要派遣员工去国外做项目。

现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。

部门每个员工有一个员工号(1,2,3,…),工号连续,从1开始。

部长派遣员工的规则:

  • 规则1:从 [1, k] 中选择员工派遣出去
  • 规则2:编号为 x 的倍数的员工不能去 x 国,编号为 y 的倍数的员工不能去 y 国。

问题:

找到最小的 k,使得可以将编号在 [1, k] 中的员工分配给 x 国和 y 国,且满足 x 国和 y 国的需求。

输入描述

四个整数 x,y,cntx,cnty。

  • 2 ≤ x < y ≤ 30000
  • x 和 y 一定是质数
  • 1 ≤ cntx, cnty < 10^9
  • cntx + cnty ≤ 10^9

输出描述

满足条件的最小的k

用例1

输入

2 3 3 1

输出

5

说明

输入说明:

2 表示国家代号2

3 表示国家代号3

3 表示国家2需要3个人

1 表示国家3需要1个人

代码

#include <iostream>

using namespace std;

// 计算最小的 k,使得可以将编号在 [1, k] 中的员工分配给 x 国和 y 国,且满足 x 国和 y 国的需求
int findMinimumK(int x, int y, int cntx, int cnty) {
   
   int k = cntx+cnty;   //k取两者需要人数之和  
   if(k<x && k<y)   //说明满足条件  直接返回  否则肯定有一个以上国家人员不满足要求
   {
        return k;
   }
   while(1)
   {
        if(k/x >=cnty)          //不满足x的人去y国 且已经满足y的人数
        {
            cnty=0;//y已经满足了 不需要再考虑(这一步非必要) 
            if(k-k/x>=cntx)		//是否满足另一要求
                return k;
        }
        if(k/y >=cntx)          
        {
            cntx = 0;
            if(k-k/y>=cnty)
                return k;
        }
        k++;

   }
       
    
}

int main() {
    int x, y, cntx, cnty;
    cin >> x >> y >> cntx >> cnty;

    int k = findMinimumK(x, y, cntx, cnty);
    cout << k << endl;

    return 0;
}

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为是一家全球领先的信息与通信技术解决方案供应商,其雇员的报酬水平与华为OD (Organization Development) 的最大值有一定关系。 首先,华为OD是华为公司引入的一种管理方法和理念,旨在通过培养和提升员工的能力和潜力,使其能够在公司的多个领域中发挥更大的作用。这种方法能够帮助公司高效运营和快速发展。 公司报酬体系通常基于多个因素来确定,包括员工的表现、职位等级以及市场行情等。因此,华为OD的最大报酬C也是受到这些因素的影响。 首先,员工的表现对于报酬的确定起着关键作用。华为非常注重员工的业绩和贡献,优秀表现的员工往往能够获得更高的薪资水平和额外的奖励。这样可以激励员工更加努力地工作,为公司创造更大的价值。 其次,职位等级也是决定报酬的重要因素。华为在公司内部设有不同的级别和岗位,每个职位都有相应的薪资范围。高级职位通常具有更高的薪资水平,这也是激励员工追求晋升和提升职位的动力之一。 最后,市场行情也会对报酬产生影响。随着行业的发展和竞争的加剧,拥有特定技能和经验的人才可能会受到较高的需求和更高的薪资待遇。华为作为一家在全球范围内运营的公司,对行业中的人才市场变化保持敏感,合理调整薪资水平以吸引和留住优秀的人才。 总而言之,华为OD的最大报酬C是在考虑员工表现、职位等级和市场行情等多个因素的基础上确定的。这不仅体现了公司对员工贡献的认可,也是为了激励员工持续成长和为公司创造更大价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值