滴滴餐桌求解

做了多关键字排序,然后先分配做人少的桌子,只ac 50%,不知道漏了哪些情况。

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool cmp(pair<int, int> a, pair<int, int> b) {
    return (a.first < b.first) || (a.first == b.first && a.second > b.second);
}

int main() {
    int n, m;
    while (cin >> n >> m) {
        // input data
        vector<int> tc(n);
        for (int i = 0; i < n; ++i) cin >> tc[i];
        vector<pair<int, int>> guest;
        for (int i = 0; i < m; ++i) {
            int t1, t2;
            cin >> t1 >> t2;
            guest.push_back(make_pair(t1, t2));
        }

        // sort
        sort(guest.begin(), guest.end(), cmp);
        sort(tc.begin(), tc.end());
        int sum = 0;
        for (int i = 0; i < tc.size(); ++i) {
            int k = tc[i];
            auto start = guest.begin();
            auto tmp = start;
            int flag = 0;
            while (start != guest.end() && (*start).first <= k) {
                if ((*start).second > (*tmp).second) tmp = start;
                start++;
                flag = 1;
            }
            if (flag) {
                sum += (*tmp).second;
                (*tmp).second = 0;
            }
        }
        cout << sum << endl;
    }
}

全部评论
long long sum
点赞 回复 分享
发布于 2016-09-06 21:13
你那个比较函数second是小于号吧
点赞 回复 分享
发布于 2016-09-06 23:06
兄弟,能不能详细给我说下题目要求啊,没仔细看。现在像写写。还有那个ip的题还记得请么
点赞 回复 分享
发布于 2016-09-06 22:51
另一个帖子看的sum超过了2^32-1,要为long long ,我跟你一样50%···  哭···
点赞 回复 分享
发布于 2016-09-06 21:13

相关推荐

02-28 13:25
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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