#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();
int cnt = 0;
int totProfit = 0;
vector<pair<int, int>> jobs;
for (int i = 0; i < n; i++)
{
jobs.push_back({profit[i], deadline[i]});
}
sort(jobs.begin(), jobs.end(),
greater<pair<int, int>>());
vector<int> slot(n, 0);
for (int i = 0; i < n; i++)
{
int start = min(n, jobs[i].second) - 1;
for (int j = start; j >= 0; j--)
{
if (slot[j] == 0)
{
slot[j] = 1;
cnt++;
totProfit += jobs[i].first;
break;
}
}
}
cout << cnt << " " << totProfit << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgppbnQgbWFpbigpCnsKCiAgICB2ZWN0b3I8aW50PiBkZWFkbGluZSA9IHsyLCAxLCAyLCAxLCAxfTsKICAgIHZlY3RvcjxpbnQ+IHByb2ZpdCA9IHsxMDAsIDE5LCAyNywgMjUsIDE1fTsKCiAgICBpbnQgbiA9IGRlYWRsaW5lLnNpemUoKTsKICAgIGludCBjbnQgPSAwOwogICAgaW50IHRvdFByb2ZpdCA9IDA7CgogICAgdmVjdG9yPHBhaXI8aW50LCBpbnQ+PiBqb2JzOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgam9icy5wdXNoX2JhY2soe3Byb2ZpdFtpXSwgZGVhZGxpbmVbaV19KTsKICAgIH0KCgogICAgc29ydChqb2JzLmJlZ2luKCksIGpvYnMuZW5kKCksCiAgICAgICAgIGdyZWF0ZXI8cGFpcjxpbnQsIGludD4+KCkpOwoKICAgIHZlY3RvcjxpbnQ+IHNsb3QobiwgMCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBpbnQgc3RhcnQgPSBtaW4obiwgam9ic1tpXS5zZWNvbmQpIC0gMTsKICAgICAgICBmb3IgKGludCBqID0gc3RhcnQ7IGogPj0gMDsgai0tKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKHNsb3Rbal0gPT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2xvdFtqXSA9IDE7CiAgICAgICAgICAgICAgICBjbnQrKzsKICAgICAgICAgICAgICAgIHRvdFByb2ZpdCArPSBqb2JzW2ldLmZpcnN0OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBjbnQgPDwgIiAiIDw8IHRvdFByb2ZpdCA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K