Submission #210157

# Submission time Handle Problem Language Result Execution time Memory
210157 2020-03-16T17:13:04 Z Andrei_Cotor Hotel (CEOI11_hot) C++11
100 / 100
1204 ms 30200 KB
#include<iostream>
#include<algorithm>
#include<set>

using namespace std;

int Profit[500005];
pair<int,int> O[500005];
multiset<pair<int,int> > S;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    int n,m,o;
    cin>>n>>m>>o;

    for(int i=1; i<=n; i++)
    {
        int c,p;
        cin>>c>>p;
        S.insert({p,c});
    }

    for(int i=1; i<=m; i++)
        cin>>O[i].first>>O[i].second;

    sort(O+1,O+m+1);

    int nr=0;
    for(int i=m; i>=1; i--)
    {
        multiset<pair<int,int> >::iterator it=S.lower_bound({O[i].second,0});

        if(it==S.end())
            continue;

        Profit[++nr]=O[i].first-(*it).second;
        S.erase(it);
    }

    sort(Profit+1,Profit+nr+1);

    long long rez=0;
    for(int i=nr; i>=max(1,nr-o+1); i--)
    {
        if(Profit[i]<=0)
            break;
        rez+=Profit[i];
    }

    cout<<rez<<"\n";
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 1144 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 54 ms 3192 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 95 ms 4856 KB Output is correct
2 Correct 72 ms 4600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 319 ms 12664 KB Output is correct
2 Correct 143 ms 7544 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 796 ms 24312 KB Output is correct
2 Correct 994 ms 24428 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 913 ms 29988 KB Output is correct
2 Correct 993 ms 29632 KB Output is correct
3 Correct 1204 ms 30200 KB Output is correct