// Freezer — Greedy Approach O(N² log N)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> s(n), m(n);
for (int i = 0; i < n; i++) cin >> s[i] >> m[i];
vector<bool> used(n, false);
vector<pair<int,int>> result;
int day = 1;
while (true) {
// Collect available meals: not used, quality >= 4, not expired
vector<int> avail;
for (int i = 0; i < n; i++)
if (!used[i] && m[i] >= 4 && s[i] >= day)
avail.push_back(i);
// Sort by expiry (eat soonest-expiring first)
sort(avail.begin(), avail.end(),
[&](int a, int b){ return s[a] < s[b]; });
// Try to find a valid pair
bool found = false;
for (int i = 0; i < (int)avail.size() && !found; i++)
for (int j = i+1; j < (int)avail.size() && !found; j++)
if (m[avail[i]] + m[avail[j]] >= 9) {
used[avail[i]] = used[avail[j]] = true;
result.push_back({avail[i]+1, avail[j]+1});
found = true;
}
if (!found) break;
day++;
}
cout << result.size() << endl;
for (auto& [a, b] : result)
cout << a << " " << b << "\n";
return 0;
}| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| subtask2 | 10/10 | ||||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Elfogadva | 1ms | 508 KiB | ||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 316 KiB | ||||
| 6 | Elfogadva | 1ms | 316 KiB | ||||
| 7 | Elfogadva | 1ms | 316 KiB | ||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 316 KiB | ||||
| 10 | Elfogadva | 1ms | 316 KiB | ||||
| 11 | Elfogadva | 1ms | 316 KiB | ||||
| subtask3 | 20/20 | ||||||
| 12 | Elfogadva | 1ms | 368 KiB | ||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 1ms | 316 KiB | ||||
| 15 | Elfogadva | 1ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 316 KiB | ||||
| 17 | Elfogadva | 1ms | 316 KiB | ||||
| 18 | Elfogadva | 2ms | 316 KiB | ||||
| 19 | Elfogadva | 1ms | 316 KiB | ||||
| 20 | Elfogadva | 1ms | 316 KiB | ||||
| 21 | Elfogadva | 4ms | 372 KiB | ||||
| 22 | Elfogadva | 1ms | 324 KiB | ||||
| 23 | Elfogadva | 17ms | 412 KiB | ||||
| 24 | Elfogadva | 17ms | 424 KiB | ||||
| 25 | Elfogadva | 8ms | 316 KiB | ||||
| 26 | Elfogadva | 1ms | 316 KiB | ||||
| 27 | Elfogadva | 14ms | 424 KiB | ||||
| 28 | Elfogadva | 34ms | 424 KiB | ||||
| 29 | Elfogadva | 3ms | 316 KiB | ||||
| 30 | Elfogadva | 4ms | 316 KiB | ||||
| 31 | Elfogadva | 17ms | 508 KiB | ||||
| subtask4 | 0/15 | ||||||
| 32 | Elfogadva | 1ms | 512 KiB | ||||
| 33 | Elfogadva | 1ms | 316 KiB | ||||
| 34 | Elfogadva | 1ms | 316 KiB | ||||
| 35 | Hibás válasz | 1ms | 316 KiB | ||||
| 36 | Elfogadva | 3ms | 316 KiB | ||||
| 37 | Elfogadva | 3ms | 316 KiB | ||||
| 38 | Hibás válasz | 1ms | 316 KiB | ||||
| 39 | Elfogadva | 2ms | 316 KiB | ||||
| 40 | Elfogadva | 2ms | 508 KiB | ||||
| 41 | Elfogadva | 8ms | 416 KiB | ||||
| 42 | Elfogadva | 3ms | 316 KiB | ||||
| 43 | Hibás válasz | 16ms | 508 KiB | ||||
| 44 | Elfogadva | 1ms | 500 KiB | ||||
| 45 | Elfogadva | 4ms | 404 KiB | ||||
| 46 | Elfogadva | 17ms | 316 KiB | ||||
| subtask5 | 0/15 | ||||||
| 47 | Elfogadva | 1ms | 508 KiB | ||||
| 48 | Elfogadva | 2ms | 316 KiB | ||||
| 49 | Hibás válasz | 2ms | 512 KiB | ||||
| 50 | Elfogadva | 1ms | 316 KiB | ||||
| 51 | Elfogadva | 3ms | 508 KiB | ||||
| 52 | Elfogadva | 1ms | 316 KiB | ||||
| 53 | Hibás válasz | 1ms | 316 KiB | ||||
| 54 | Elfogadva | 2ms | 316 KiB | ||||
| 55 | Elfogadva | 1ms | 512 KiB | ||||
| 56 | Elfogadva | 3ms | 316 KiB | ||||
| 57 | Elfogadva | 2ms | 316 KiB | ||||
| 58 | Hibás válasz | 1ms | 316 KiB | ||||
| 59 | Hibás válasz | 2ms | 316 KiB | ||||
| 60 | Elfogadva | 1ms | 376 KiB | ||||
| 61 | Elfogadva | 1ms | 316 KiB | ||||
| subtask6 | 0/15 | ||||||
| 62 | Hibás válasz | 3ms | 500 KiB | ||||
| 63 | Elfogadva | 4ms | 316 KiB | ||||
| 64 | Elfogadva | 10ms | 536 KiB | ||||
| 65 | Hibás válasz | 25ms | 416 KiB | ||||
| 66 | Elfogadva | 28ms | 428 KiB | ||||
| 67 | Elfogadva | 1ms | 316 KiB | ||||
| 68 | Hibás válasz | 4ms | 316 KiB | ||||
| 69 | Hibás válasz | 2ms | 316 KiB | ||||
| 70 | Hibás válasz | 3ms | 316 KiB | ||||
| 71 | Hibás válasz | 14ms | 424 KiB | ||||
| 72 | Elfogadva | 2ms | 500 KiB | ||||
| 73 | Hibás válasz | 7ms | 316 KiB | ||||
| 74 | Elfogadva | 9ms | 416 KiB | ||||
| 75 | Elfogadva | 3ms | 316 KiB | ||||
| 76 | Elfogadva | 1ms | 400 KiB | ||||