博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第k小数
阅读量:6161 次
发布时间:2019-06-21

本文共 998 字,大约阅读时间需要 3 分钟。

                第K小数

                        ( number .cpp/c/pas)
【问题描述】
有两个正整数数列,元素个数分别为N和M。从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少。

【输入格式】
输入文件名为number.in。
输入文件包含三行。
第一行为三个正整数N,M和K。
第二行为N个正整数,表示第一个数列。
第三行为M个正整数,表述第二个数列。

【输出格式】
输出文件名为number.out。
输出文件包含一行,一个正整数表示第K小数。

【输入输出样例1】
number.in number.out
2 3 4
1 2
2 1 3
3

【输入输出样例2】
number.in number.out
5 5 18
7 2 3 5 8
3 1 3 2 5
16

【数据规模与约定】

 

 

//二分+数学思想 #include
#include
using namespace std;long long n,m,k;long long a[200001],b[200001],mid;int main(){ scanf("%lld%lld%lld",&n,&m,&k); for(int i=1;i<=n;i++) scanf("%lld",a+i); for(int i=1;i<=m;i++) scanf("%lld",b+i); sort(a+1,a+n+1); sort(b+1,b+m+1); long long l=0,r=a[n]*b[m]+1; while(l+1
=0&&a[i]*b[p]>=mid) p--;//sum记录比mid小的个数; sum+=(p); } if(sum>=k) r=mid; else l=mid; } printf("%lld\n",l); return 0;}
View Code

 

转载于:https://www.cnblogs.com/qingang/p/6051820.html

你可能感兴趣的文章
[译]ECMAScript.next:TC39 2012年9月会议总结
查看>>
【Xcode】编辑与调试
查看>>
用tar和split将文件分包压缩
查看>>
[BTS] Could not find stored procedure 'mp_sap_check_tid'
查看>>
PLSQL DBMS_DDL.ALTER_COMPILE
查看>>
Activity生命周期
查看>>
高仿UC浏览器弹出菜单效果
查看>>
Ubuntu忘记密码,进不了系统的解决方法
查看>>
[原创]白盒测试技术思维导图
查看>>
<<Information Store and Management>> 读书笔记 之八
查看>>
Windows 8 开发之设置合约
查看>>
闲说HeartBeat心跳包和TCP协议的KeepAlive机制
查看>>
MoSQL
查看>>
Hibernate多对一外键单向关联(Annotation配置)
查看>>
《CLR via C#》读书笔记 之 方法
查看>>
设计模式:组合模式(Composite Pattern)
查看>>
ContentValues 和HashTable区别
查看>>
LogicalDOC 6.6.2 发布,文档管理系统
查看>>
给PowerShell脚本传递参数
查看>>
实战2——Hadoop的日志分析
查看>>