腾讯笔试题-加工零件

我写了个二分查找的算法,本地测试能通过,不知道为啥,到了线上一点都通不过,大佬帮忙看看,谢谢大佬,显示的是答案错误,不是超时之类的

题的描述,给定两个大小为N的数组,数组之间相乘会产生 个数,求第K小的数是什么

  • 输入
    • 第一行 N K (N < e5, K <e19)
    • 第二行 a_i (N个数,每个数 a_i < e5)
    • 第三行 b_i (N个数,每个数 b_i < e5)
  • 输出
    • 第K小的数

示例

输入:
3 2
1 2 3
1 2 3
输出:
2
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;

int Cal(vector<int> &A, vector<int> &B, long &mid){
    long long ans = 0;
    for(int i = 0; i < A.size(); ++i){
        int j = 0;
        if(A[i] * B[j] > mid) break;
        for(++j; j < B.size() && A[i] * B[j] <= mid; ++j);
        ans += j;
    }
    return ans;
}

int Find(vector<int> &A, vector<int> &B, long long &K) {
    long t = sqrt(K), l = A[0] * B[0], r = A[t + 1] * B[t + 1];
    while(l <= r){
        long mid = (l + r) >> 1;
        long long tmp = Cal(A, B, mid);
        if(tmp <= K)
            l = mid + 1;
        else
            r = mid - 1;
    }
    return r + 1;
}

int main(){
    int N;
    long long K; 
    cin >> N >> K;
    vector<int> A(N), B(N);
    for(int i = 0; i < N; ++i) cin >> A[i];
    for(int i = 0; i < N; ++i) cin >> B[i];
    sort(A.begin(), A.end());
    sort(B.begin(), B.end());
    if(K >= N * N){
        cout << A.back() * B.back() << endl;
    }else{
        long res = Find(A, B, K);
        cout << res << endl;
    }
    return 0;
}
#笔试题目##腾讯#
全部评论

相关推荐

不愿透露姓名的神秘牛友
02-12 18:14
RT,这周五就是情人节了,前女友给我发了消息,我该不该回?
Yoswell:原则上来说让她滚,但是本着工作很累下班想吃瓜的心态,我觉得你可以回一下
点赞 评论 收藏
分享
2024-12-27 23:45
已编辑
三江学院 Java
程序员牛肉:死局。学历+无实习+项目比较简单一点。基本就代表失业了。 尤其是项目,功能点实在是太假了。而且提问点也很少。第一个项目中的使用jwt和threadlocal也可以作为亮点写出来嘛?第二个项目中的“后端使用restful风格”,“前端采用vue.JS”,“使用redis”也可以作为亮点嘛? 项目实在是太简单了,基本就是1+1=2的水平。而你目标投递的肯定也是小厂,可小厂哪里有什么培养制度,由于成本的问题,人家更希望你来能直接干活,所以你投小厂也很难投。基本就是死局,也不一定非要走后端这条路。可以再学一学后端之后走测试或者前端。 除此之外,不要相信任何付费改简历的。你这份简历没有改的必要了,先沉淀沉淀
点赞 评论 收藏
分享
目前感觉简历还有很多问题,希望各位能不吝赐教以及非常感谢这位老哥——@黑皮白袜臭脚体育生&nbsp;的项目,学完一遍感觉受益颇丰
小菜鸡只想转正:校友,我的建议是冗余的最好去掉,突出重点,比如985,211双一流的提示,专业技能调整到个人项目之后的位置。专业技能感觉写的太细了?占用篇幅最好腾出一点给项目经历,如果没写手机号和邮箱,记得加上。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务