题解 | #Supermarket#

Supermarket

https://ac.nowcoder.com/acm/contest/1011/A

思路:按时间贪心,每次更新前面几天能卖出的最大利润,用堆可以自动排序,每次筛出堆顶元素最小的那个,所以用小根堆就可以了。

#include<bits/stdc++.h>
using namespace std;
const int N = 100010;

pair<int,int> a[N];

int main()
{
    int n;
    while(cin>>n){
        for(int i=0;i<n;i++){
            cin>>a[i].second>>a[i].first;
        }
        sort(a,a+n);
        priority_queue<int,vector<int>,greater<int>> h;
        for(int i=0;i<n;i++){
            h.push(a[i].second);
            if(h.size()>a[i].first) h.pop();
        }
        long long ans=0;
        while(h.size()){
            ans+=h.top();
            h.pop();
        }
        cout<<ans<<endl;
    }
    return 0;
}
全部评论

相关推荐

八股刚起步,看了javaguide,小林coding,还有面渣,感觉面渣是体验最好的,请问只看面渣够用吗,有不完善的需要补吗?
码农索隆:先背最基础的知识,然后理解情景题,现在面试大多数喜欢问情景题,更考验面试者的基础和临场发挥情况
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
07-02 13:50
闽江学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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