SCAU 9504 面试
9504 面试
时间限制:2000MS 内存限制:65535K 提交次数:0 通过次数:0
题型: 编程题 语言: 无限制
Description
近来acm各大神牛教主均已经拿到超级offer(腾讯、网易、迅雷、阿里巴巴,百度……),无限膜拜。 小菜Arokenda因平时不学无术,已经成为华农新一届面霸,记录正在不断刷新。经过2^n次面试,哥总结出,有80%的公司都会问你期望薪水为多少。 当然,他们公司原定计划都有N多不同金额的薪水,会根据你期望的薪水找到一份与你最匹配的薪水(即最接近你期望的薪水), 当然,能否拿到必需至少具备有此二条件其中之一: 1、你是华农acmer且成为教主级人物。 2、你的忽悠能力灰常强。#^_^#
Input
第一行为T(T<20),表示有T个公司。 接下来每个公司第一行为整数n(n<5000),表示该公司提供了n份金额不同的薪水。 第二行为n个整数,表示这n份不同的薪水。 第三行为整数m(m<5000),表示有m个人去面试。 第四行为m个整数,表示这m个人的期望薪水。
Output
对每个人输出一行,表示公司提供的最接近该面试者期望薪水的薪水。 每个公司之间用空行隔开。
Sample Input
2 5 1 2 3 4 5 3 2 4 6 5 1 2 3 4 5 3 2 4 6
Sample Output
2 4 5 2 4 5
Hint
面对同样接近的两份薪水,该公司会提供低薪水的职位给你,以节省经费。
公司提供的薪水和面试者的期望薪水都是无序的。
Source
Arokenda
Provider
a470086609
#include<stdio.h> #include<string.h> int salay[5000]; int main() { int i, j, mid, low, high, flag, T, t, saln, exn, temp; scanf("%d", &T); for(t=1; t<=T; ++t) { memset(salay, 0, sizeof(salay)); scanf("%d", &saln); for(i=0; i<saln; ++i) scanf("%d", &salay[i]); for(i=0; i<saln-1; ++i) { flag = 1; for(j=0; j<saln-1-i; ++j) if(salay[j] > salay[j+1]) { temp = salay[j]; salay[j] = salay[j+1]; salay[j+1] = temp; flag = 0; } if(flag) break; } scanf("%d", &exn); for(i=0; i<exn; ++i) { scanf("%d", &temp); low = 0, high = saln-1, mid = (low+high)/2; if(temp <= salay[low]) {printf("%d\n", salay[low]); continue;} else if(temp >= salay[high]) {printf("%d\n", salay[high]); continue;} for(; low<high; ) { if(salay[mid] > temp) {high = mid-1; mid = (high+low)/2;} else if(salay[mid] < temp){low = mid + 1; mid = (high+low)/2;} else break; } if(salay[mid] == temp) printf("%d\n", temp); else if(salay[mid] < temp) { if(temp-salay[mid] > salay[mid+1]-temp) printf("%d\n", salay[mid+1]); else printf("%d\n", salay[mid]); } else { if(temp-salay[mid-1] > salay[mid]-temp) printf("%d\n", salay[mid]); else printf("%d\n", salay[mid-1]); } } if(t != T) printf("\n"); } return 0; }
解题报告:
看题解答,注意hint,主要是熟悉了一下二分查找,OJ太慢了,加上对二分查找早忘得七七八八,所以做起来还是没太大的信心,后来发现二分查找没有错,错得的是冒泡排序多加了一个!,这题算水水的过吧!

更多内容请关注个人微信公众号 物役记 (微信号:materialchains)
作者:雪影蓝枫
本文版权归作者和博客园共有,欢迎转载,未经作者同意须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?