#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
vector<int> deadline = {2, 1, 2, 1, 1};
vector<int> profit = {100, 19, 27, 25, 15};
int n = deadline.size();
vector<int> ans = {0, 0};
vector<pair<int, int>> jobs;
for (int i = 0; i < n; i++)
{
jobs.push_back({deadline[i], profit[i]});
}
sort(jobs.begin(), jobs.end());
priority_queue<int, vector<int>, greater<int>> pq;
for (int i = 0; i < jobs.size(); i++)
{
if (jobs[i].first > pq.size())
pq.push(jobs[i].second);
else if (!pq.empty() && pq.top() < jobs[i].second)
{
pq.pop();
pq.push(jobs[i].second);
}
}
int cnt = 0, totalProfit = 0;
while (!pq.empty())
{
totalProfit += pq.top();
pq.pop();
cnt++;
}
cout << cnt << " " << totalProfit << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgppbnQgbWFpbigpCnsKCiAgICB2ZWN0b3I8aW50PiBkZWFkbGluZSA9IHsyLCAxLCAyLCAxLCAxfTsKICAgIHZlY3RvcjxpbnQ+IHByb2ZpdCA9IHsxMDAsIDE5LCAyNywgMjUsIDE1fTsKCiAgICBpbnQgbiA9IGRlYWRsaW5lLnNpemUoKTsKICAgIHZlY3RvcjxpbnQ+IGFucyA9IHswLCAwfTsKICAgIHZlY3RvcjxwYWlyPGludCwgaW50Pj4gam9iczsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBqb2JzLnB1c2hfYmFjayh7ZGVhZGxpbmVbaV0sIHByb2ZpdFtpXX0pOwogICAgfQoKCiAgICBzb3J0KGpvYnMuYmVnaW4oKSwgam9icy5lbmQoKSk7CiAgICBwcmlvcml0eV9xdWV1ZTxpbnQsIHZlY3RvcjxpbnQ+LCBncmVhdGVyPGludD4+IHBxOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgam9icy5zaXplKCk7IGkrKykKICAgIHsKICAgICAgICBpZiAoam9ic1tpXS5maXJzdCA+IHBxLnNpemUoKSkKICAgICAgICAgICAgcHEucHVzaChqb2JzW2ldLnNlY29uZCk7CgogICAgICAgIGVsc2UgaWYgKCFwcS5lbXB0eSgpICYmIHBxLnRvcCgpIDwgam9ic1tpXS5zZWNvbmQpCiAgICAgICAgewogICAgICAgICAgICBwcS5wb3AoKTsKICAgICAgICAgICAgcHEucHVzaChqb2JzW2ldLnNlY29uZCk7CiAgICAgICAgfQogICAgfQoKICAgIGludCBjbnQgPSAwLCB0b3RhbFByb2ZpdCA9IDA7CiAgICB3aGlsZSAoIXBxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgdG90YWxQcm9maXQgKz0gcHEudG9wKCk7CiAgICAgICAgcHEucG9wKCk7CiAgICAgICAgY250Kys7CiAgICB9CgogICAgY291dCA8PCBjbnQgPDwgIiAiIDw8IHRvdGFsUHJvZml0IDw8IGVuZGw7CgoKICAgIHJldHVybiAwOwp9Cg==