华为4月13晚笔试

第二题代码。过了25%,不知道哪里错了,求个大佬帮忙看看!!!!
// we have defined the necessary header files here for this problem.
// If additional header files are needed in your program, please import here.
#include<bits/stdc++.h>

using namespace std;
int main()
{
    int n;
    cin >> n;
    int ans = 0;
    vector<pair<int, int>> tmp;
    for(int i = 0; i < n; ++i){
        int a, b;
        cin >> a >> b;
        tmp.push_back(make_pair(a, b));
    }
    sort(tmp.begin(), tmp.end(), [](pair<int, int>& a, pair<int, int>& b){ return a.first == b.first ? a.second > b.second : a.first < b.first; });
    
    int start = 0;
    for(int i = 1; i <= 7 * 105 && start < n; ++i){
        for(int j = start; j < n; ++j){
            if(tmp[j].first >= i){
                ans += tmp[j].second;
                start = j + 1;
                break;
            }
        }
    }
    cout << ans;
    return 0;
}



#华为笔试##华为##实习##笔试题目#
全部评论
你的做法有特例: 5 1 7 1 5 2 89 2 100 3 6 你的输出是7+100+6,实际是89+100+6
3 回复 分享
发布于 2022-04-13 22:19
因为这***出题人的 105 是 10^5 次方,106是 10^6次方
2 回复 分享
发布于 2022-04-13 21:38
思路有问题,因为比如2有权值6和7,3有权值8和9,这种情况我应该在做3的两个任务,但是按照你这个做的是2的7和3的9,权值变低了。
1 回复 分享
发布于 2022-04-13 22:20
老哥有第一题第三题的代码吗,能方便分享下吗
点赞 回复 分享
发布于 2022-04-15 22:52
思路错了,用优先队列,sla小于队列长度入队,等于队列长度且大于队首,先出队再入队
点赞 回复 分享
发布于 2022-04-14 18:12
菜鸡尝试了一下,仅供参考: #include <bits/stdc++.h> using namespace std; int N; struct num{ int time; int sorce; friend bool  operator < (num a,num b) {      if(a.sorce==b.sorce)      {          return a.time < b.time;      }      return a.sorce > b.sorce; } }; int main() {     scanf("%d",&N);     if(N==0)     {         return 0;     }     vector<num> arr;     for(int i=0;i<N;i++)     {         int t=0,s=0;         scanf("%d%d",&t,&s);         num n;         n.time=t;         n.sorce=s;         arr.push_back(n);     }     sort(arr.begin(),arr.end());     int ans = arr[0].sorce;     int cur_time = 2;     for(int i=1;i<N;i++)     {         if(arr[i].time >= cur_time)         {             ans+= arr[i].sorce;             cur_time++;         }     }     printf("%d",ans);     return 0; }
点赞 回复 分享
发布于 2022-04-14 10:36
不会C++,不过我也是排序贪心做的, 你可以考虑 1 1 2 3 2 4 这个例子,答案是7,但是我的方法是5
点赞 回复 分享
发布于 2022-04-14 08:58
请问华为机考不能用python嘛,感觉看了好多帖子都是c++😥
点赞 回复 分享
发布于 2022-04-14 08:50
我也是
点赞 回复 分享
发布于 2022-04-13 21:37

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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