牛客网-牛牛找工作

2024-06-13 20:32
文章标签 工作 牛客 牛牛

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

链接:https://www.nowcoder.com/questionTerminal/46e837a4ea9144f5ad2021658cb54c4d

时间限制:2秒

空间限制:65536K

为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下, 牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标 准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。 输入描述: 每个输入包含一个测试用例。 每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<=100000)和小伙伴的数量M(M<=100000)。 接下来的N行每行包含两个正整数,分别表示该项工作的难度Di(Di<=1000000000)和报酬Pi(Pi<=1000000000)。 接下来的一行包含M个正整数,分别表示M个小伙伴的能力值Ai(Ai<=1000000000)。 保证不存在两项工作的报酬相同。 输出描述: 对于每个小伙伴,在单独的一行输出一个正整数表示他能得到的最高报酬。一个工作可以被多个人选择。

示例1输入
3 3
1 100
10 1000
1000000000 1001
9 10 1000000000输出
100
1000
1001
超时算法:
#include <iostream>
#include <queue>
#include <cstdio>
#include <cstring>
#include<iostream>
#include<algorithm>using namespace std;struct job {int Di;//难度int Pi;//报酬
} Job[100001];int Ai;bool cmp(struct job a, struct job b) {return a.Pi > b.Pi; //报酬
}int main() {int n, m;while (scanf("%d%d", &n, &m) != EOF) {for (int i = 0; i < n; i++) { //n为工作数量cin >> Job[i].Di;cin >> Job[i].Pi;}sort(Job, Job + n, cmp);for (int i = 0; i < m; i++) {//m为小伙伴数量   /*注意:这里超时了,因为10e5 * 10e5 超过2秒的时间。  1秒约10e8*/cin >> Ai;for (int j = 0; j < n; j++) {//n为工作数量if (Ai >= Job[j].Di) {cout << Job[j].Pi<<endl ;break;}}}}return 0;
}

正确解法:

#include <iostream>
#include <queue>
#include <cstdio>
#include <cstring>
#include<iostream>
#include<algorithm>using namespace std;struct job {    //工作int Di;//难度int Pi;//报酬
} Job[100001];struct ai {   //人int i;//序号int power;//能力int money=0;//报酬
} Ai[100001];bool cmp(struct job a, struct job b) {return a.Di < b.Di; //难度
}bool cmp2(struct ai a, struct ai b) {return a.power < b.power; //能力
}bool cmp3(struct ai a, struct ai b) {return a.i < b.i; //序号
}int main() {int n, m;while (scanf("%d%d", &n, &m) != EOF) {for (int i = 0; i < n; i++) {  //n为工作数量cin >> Job[i].Di;cin >> Job[i].Pi;}sort(Job, Job + n, cmp);for (int i = 0; i < m; i++) {  //m为小伙伴数量Ai[i].i=i;cin >> Ai[i].power;}sort(Ai, Ai + m, cmp2);//多思考,//人的能力 10  30 45 70//工作需要的能力  12 13 14 15 37 59// 30人的能力 大于 工作的能力12 13 14 15 所以选其中最大的赋值给30能力的人int j=0;int maxMoney=0;for(int i=0;i<m;i++){while(j<n){if(Job[j].Di>Ai[i].power){ //工作的能力 大于 人的能力 ,退出break;}maxMoney=max(maxMoney,Job[j].Pi);j++;}Ai[i].money=maxMoney;}sort(Ai, Ai + m, cmp3);for(int i=0;i<m;i++){cout<<Ai[i].money<<endl;}}return 0;}



这篇关于牛客网-牛牛找工作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

未来工作趋势:零工小程序在共享经济中的作用

经济在不断发展的同时,科技也在飞速发展。零工经济作为一种新兴的工作模式,正在全球范围内迅速崛起。特别是在中国,随着数字经济的蓬勃发展和共享经济模式的深入推广,零工小程序在促进就业、提升资源利用效率方面显示出了巨大的潜力和价值。 一、零工经济的定义及现状 零工经济是指通过临时性、自由职业或项目制的工作形式,利用互联网平台快速匹配供需双方的新型经济模式。这种模式打破了传统全职工作的界限,为劳动

Smarty模板引擎工作机制(一)

深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解。 在没有使用Smarty模板引擎的情况下,我们都是将PHP程序和网页模板合在一起编辑的,好比下面的源代码: <?php$title="深处浅出之Smarty模板引擎工作机制";$content=

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据

以太网交换机工作原理学习笔记

在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。 1、以太网协议介绍 1.1以太网协议 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

JVM工作过程

将JVM工作过程粗略分为5个阶段,包括加载阶段、链接阶段、初始化阶段、执行阶段、回收阶段 其中, (1)加载阶段、链接阶段的解析部分主要由类加载器完成 (2)初始化阶段是由JVM的类加载机制在类加载过程的最后阶段自动触发的。 (3)执行阶段主要由执行引擎负责 (4)回收阶段主要是垃圾收集器(Garbage Collector)负责。 所以,在Java虚拟机(JVM)中,读取字节码文件、解析字节码