Submission #14129871
Source Code Expand
/* cmd
g++ "$F"
*/
#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main()
{
// Inputs
int N;
cin >> N;
vector<vector<int>> Shelves(N);
for (int i = 0; i < N; ++i) {
int k;
cin >> k;
Shelves[i].resize(k);
for (int j = 0; j < k; ++j) {
cin >> Shelves[i][j];
}
swap_ranges(Shelves[i].begin(), Shelves[i].begin()+k/2,
Shelves[i].rbegin()
);
}
int M;
cin >> M;
vector<int> A(M);
for (int i = 0; i < M; ++i) {
cin >> A[i];
}
// Prepare
map<int,int> Firsts, Seconds;
for (int i = 0; i < N; ++i) {
Firsts.emplace(Shelves[i].back(), i);
if (1 < Shelves[i].size()) {
Seconds.emplace(Shelves[i].rbegin()[1], i);
}
}
// Run
for (int a: A) {
auto& fs = (a==1 || Seconds.empty() || Firsts.rbegin()->first > Seconds.rbegin()->first) ? Firsts : Seconds;
const int due = fs.rbegin()->first;
const int shelfNo = fs.rbegin()->second;
auto& shelf = Shelves[shelfNo];
cout << due << endl;
fs.erase(--fs.end());
shelf.erase(shelf.end()-1-(&fs==&Seconds));
if (&fs == &Firsts) {
if (! shelf.empty()) {
Firsts.emplace(shelf.back(), shelfNo);
Seconds.erase(shelf.back());
}
}
if (1 < shelf.size()) {
Seconds.emplace(shelf.rbegin()[1], shelfNo);
}
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | L - Supamarket |
| User | ds14050 |
| Language | C++ (GCC 9.2.1) |
| Score | 6 |
| Code Size | 1363 Byte |
| Status | AC |
| Exec Time | 778 ms |
| Memory | 17904 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 6 / 6 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | max_01.txt, max_02.txt, max_03.txt, max_04.txt, max_05.txt, max_06.txt, max_07.txt, max_08.txt, max_09.txt, max_10.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, sample_01.txt, sample_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| max_01.txt | AC | 774 ms | 17904 KiB |
| max_02.txt | AC | 778 ms | 17904 KiB |
| max_03.txt | AC | 538 ms | 5704 KiB |
| max_04.txt | AC | 540 ms | 5716 KiB |
| max_05.txt | AC | 537 ms | 5644 KiB |
| max_06.txt | AC | 560 ms | 5724 KiB |
| max_07.txt | AC | 552 ms | 5724 KiB |
| max_08.txt | AC | 596 ms | 6376 KiB |
| max_09.txt | AC | 603 ms | 6876 KiB |
| max_10.txt | AC | 625 ms | 8404 KiB |
| random_01.txt | AC | 147 ms | 3560 KiB |
| random_02.txt | AC | 150 ms | 4716 KiB |
| random_03.txt | AC | 147 ms | 12932 KiB |
| random_04.txt | AC | 81 ms | 4656 KiB |
| random_05.txt | AC | 63 ms | 9360 KiB |
| random_06.txt | AC | 78 ms | 4716 KiB |
| sample_01.txt | AC | 3 ms | 3472 KiB |
| sample_02.txt | AC | 2 ms | 3540 KiB |