为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。

每个输入包含一个测试用例。
每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<=100000)和小伙伴的数量M(M<=100000)。
接下来的N行每行包含两个正整数,分别表示该项工作的难度Di(Di<=1000000000)和报酬Pi(Pi<=1000000000)。
接下来的一行包含M个正整数,分别表示M个小伙伴的能力值Ai(Ai<=1000000000)。
保证不存在两项工作的报酬相同。

# include <stdio.h>

# include <malloc.h>
typedef struct node
{
long di;
long pi;
}Node,*Pnode;
void sort(Pnode work,int size);
 void find(Pnode work,long* frien,int M,int N);
int main()
{
long N,M;
scanf("%ld%ld",&N,&M);
Pnode work=(Pnode)malloc(sizeof(Node)*N);
for(int i=0;i<N;i++)
scanf("%ld%ld",&work[i].di,&work[i].pi);
long* frien=(long*)malloc(sizeof(long)*M);
for(int j=0;j<M;j++)
scanf("%ld",&frien[j]);
sort(work,N);
find(work,frien,M,N);
for(int i=0;i<M;i++)
printf("%ld ",frien[i]);
return 0;
 } 
 void sort(Pnode work,int size)
 {
  Node t;
  bool change=true;
  for(int i=0;i<size && change;i++)
  {
  change=false;
  for(int j=size-1;j>i;j--)
  if(work[j].di<work[i].di)
  {
  t=work[j];
  work[j]=work[i];
  work[i]=t;
  change=true;
}
}
 }
 void find(Pnode work,long* frien,int M,int N)
 {
  long val=-1;
  for(int i=0;i<M;i++)
  {
  for(int j=0;j<N;j++)
  if(frien[i]>=work[j].di )
  {
  if(work[j].pi>val)
  val=work[j].pi;
}
frien[i]=val;
//printf("val=%ld ",val);
val=-1;
}
 }

flag 60牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,相关推荐

  1. 什么情况下选择linux,在哪种情况下建议选择BSD系统而不是Linux?

    我一直发现BSD更直观.在BSD中有一些不同于Linux的哲学.例如,Linux更喜欢GNU命令,而BSD选择传统的BSD命令(类似但通常有不同的选项)或新写入的命令,当没有其他可用的时候,它们会回到 ...

  2. 找一份好工作只需要这几招

    [写在前面]找一份好工作,并没有你想象的那么难.今天教你找一份好工作需要的几招.有需要的朋友可以学习一下. 我有个学弟,还很年轻,工作勤奋努力,思想积极向上,除了长得没我帅以外,其他都比我强,只是流年 ...

  3. java在gc正常工作的情况下_Java GC的工作原理

    一 ,GC的概要: JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory)是在 Java 虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM堆之外的内存. 简单来说 ...

  4. java在gc正常工作的情况下_最新JVM面试题小结,程序猿直呼内行

    这篇文章主要介绍了JVM面试题小结(2020最新版),觉得挺不错的,现在分享给大家,也给大家做个参考. Java内存区域 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个 ...

  5. brook客户端android,Android端线上NativeCrash收集的两种方法(一)

    Android端crash可分为Java层crash和Native crash,我们通常说的crash一般指的是Java层crash,Native crash主要指C/C++代码(其在Android工 ...

  6. ZT-我们为什么找不到好工作?(一个大学生的反思)

    我们为什么找不到好工作 今年大学毕业生将有6层找不到工作.这是教育部的统计,只能说往少了写.听说一般是7层-- 大学生的悲剧.我们读了10多年书,辛辛苦苦换来的文凭成了废纸.我们怎么办?为什么被评为天 ...

  7. 如何在工作繁重、睡眠较少的情况下保持旺盛精力?

    作者:陈炬 链接:https://www.zhihu.com/question/23177623/answer/47785761 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  8. 什么情况下你的工作最为成功_如何在没有工作经验的情况下获得技术工作

    什么情况下你的工作最为成功 by Anthony Sistilli 安东尼·西斯蒂里(Anthony Sistilli) 如何在没有工作经验的情况下获得技术工作 (How to get a tech ...

  9. 重磅!Python又第一了!网友:为什么找不到好工作?真相让人脸红…

    根据第 19 届 KDnuggets调查显示,Python 成数据分析.数据科学与机器学习的第一大语言. 图片来源于第 19 届 KDnuggets软件大调查 Python 在机器学习中的地位日益扩大 ...

最新文章

  1. 用Spring Web Flow和Terracotta搭建Web应用
  2. wordpress 分类使用不同的模版
  3. springboot actuator_Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控...
  4. c#连接oracle11,C#连接远程oracle11g数据库
  5. 利剑无意之JAVA面试题(一)
  6. Python核心编程第四章
  7. [css] 举例说明CSS特性检测的方式有哪些?
  8. 【POJ - 1724 】ROADS (带限制的最短路 或 dfs 或 A*算法,双权值)
  9. 程序员》推荐C++ 图书三人谈
  10. automake的使用1
  11. Spring AOP原理分析(一)-- AOP相关概念
  12. 曲率曲线JAVA_DEM曲率计算
  13. STVD环境下开发STM8,如何查看工程占用的Flash、EEPROM、RAM的情况
  14. 【邢不行|量化小讲堂系列05-Python量化入门】计算创业板平均市盈率
  15. 计算机IPv4升级到IPv6的技术,IPv4到IPv6的变化
  16. [Mac] OSX 快捷键组合 (完整版)
  17. 微信小程序之在线任务发布与接单平台(2)
  18. matlab set函数
  19. 大一计算机基础试题答案,计算机基础知识试题及答案-(1).doc
  20. SCORM标准及支持SCORM标准学习平台的设计

热门文章

  1. 吉林大学[离散数学(68集)AVI] 下载地址 百度云盘
  2. oracle sqlloader 的简单使用
  3. 教育知识与能力——简答题30题
  4. 固定资产拆分比例怎么计算_证券市场上的股票拆分,配股和除权、除息是什么,除权、除息如何计算?丕余周报...
  5. 数字信号处理实验matlab版答案刘舒帆,数字信号处理实验(MATLAB版) 刘舒帆,费诺,陆辉 西安电子科技大学出版社 9787560620060...
  6. 【IDEA】- IDEA导入 mysql驱动包的时候 编译时可以找到驱动包 , 但是运行时无法找到
  7. csgo的demo怎么录屏_CSGO DEMO录制、下载、保存文件夹路径、回放
  8. windows小技巧1——路径太长导致文件无法删除
  9. can通道采样频率_CAN总线CAN波特率计算方式
  10. delphi通过php连接数据库,delphi2010中使用sqlitesimpledelphi连接sqlite数据库并解决中...