5.14奇安信C++笔试

#奇安信#
第一题 100%
第二题 50%

X感觉写的很对,为什么错了呢,有无大佬帮忙看看X
感谢评论区大佬给出错误原因,已经搞懂了

class Solution {
public:
    
    vector<long long> vec;
    bool check(long long mid)
    {
        priority_queue<long long> q;
        for(int i = 0; i < 5; i ++) q.push(mid);
        
        for(auto x : vec)
        {
            long long t = q.top();
            q.pop();
            q.push(t - x);
        }
        
        if(q.top() > 0) return false;
        else return true;
    }
    
    int maxTime(vector<int>& bat) {
        for(auto x : bat) vec.push_back(x);
        sort(vec.begin(), vec.end(), greater<long long>());
        int n = vec.size();
        
        long long l = 0, r = vec[0] * n / 5;
        while(l < r)
        {
            long long mid = (l + r + 1) / 2;
            if(check(mid)) l = mid;
            else r = mid - 1;
        }
        return l;
    }
};
全部评论
就是每次不能把电用光,每次用一分钟然后重新排序,100,100,100,100,95,10 你这样计算结果是100, 但每次不用光电量, 15,15,15,15,10,10->14,14,14,14,9,10 然后不断用新的最大值替换,可以得到101
10 回复 分享
发布于 2023-05-14 21:10 重庆
我也是,我还发现是原题。。。
5 回复 分享
发布于 2023-05-14 21:05 江苏
第一题咋写啊。。
2 回复 分享
发布于 2023-05-16 08:04 天津
我也是50%
1 回复 分享
发布于 2023-05-14 21:02 陕西
第二题我也是百分之五十
点赞 回复 分享
发布于 2023-05-16 12:08 四川
题主,请问一下,能不能发一下第一题的过程?
点赞 回复 分享
发布于 2023-05-16 10:54 江苏
啥时候投的呀,我5号投的现在还没有消息😭
点赞 回复 分享
发布于 2023-05-16 10:28 浙江
点赞 回复 分享
发布于 2023-05-16 10:23 北京
我知道错哪了,但不知怎么改,你输入15个100,输出结果是200,但结果是300
点赞 回复 分享
发布于 2023-05-14 21:06 湖南

相关推荐

不愿透露姓名的神秘牛友
07-09 12:10
直接上图
牛客13578115...:改得一般,不值80
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:30
点赞 评论 收藏
分享
评论
12
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务