Submission #14404930
Source Code Expand
from heapq import *
N = int(input())
T = [None] * N
for i in range(N):
_, *ts = [int(x) for x in input().split()]
T[i] = ts
ts.append(-1)
ts.append(-1)
M = int(input())
A = [int(x) for x in input().split()]
for1 = []
for2 = []
cursor1 = [0] * N
cursor2 = [1] * N
for i, ts in enumerate(T):
heappush(for1, (-ts[0], i))
heappush(for2, (-ts[0], i))
heappush(for2, (-ts[1], i))
for m in range(M):
# print(cursor1)
# print(cursor2)
# print(for1[:3])
# print(for2[:3])
if A[m] == 1:
while True:
t, pos = for1[0]
i1 = cursor1[pos]
i2 = cursor2[pos]
if T[pos][i1] == -t:
# first item
print(-t)
heappop(for1)
T[pos][i1] = None
cursor1[pos] = i2
heappush(for1, (-T[pos][i2], pos))
cursor2[pos] = i2 + 1
heappush(for2, (-T[pos][i2 + 1], pos))
break
heappop(for1)
else:
while True:
t, pos = for2[0]
i1 = cursor1[pos]
i2 = cursor2[pos]
if T[pos][i2] == -t:
# second item
print(-t)
heappop(for2)
T[pos][i2] = None
cursor2[pos] = i2 + 1
heappush(for2, (-T[pos][i2 + 1], pos))
break
elif T[pos][i1] == -t:
# first item
print(-t)
heappop(for1)
heappop(for2)
T[pos][i1] = None
cursor1[pos] = i2
heappush(for1, (-T[pos][i2], pos))
cursor2[pos] = i2 + 1
heappush(for2, (-T[pos][i2 + 1], pos))
break
heappop(for2)
Submission Info
| Submission Time | |
|---|---|
| Task | L - Supamarket |
| User | nishiohirokazu |
| Language | PyPy3 (7.3.0) |
| Score | 6 |
| Code Size | 1879 Byte |
| Status | AC |
| Exec Time | 1829 ms |
| Memory | 172912 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 | 1636 ms | 172284 KiB |
| max_02.txt | AC | 1829 ms | 172912 KiB |
| max_03.txt | AC | 554 ms | 131284 KiB |
| max_04.txt | AC | 559 ms | 109408 KiB |
| max_05.txt | AC | 562 ms | 116500 KiB |
| max_06.txt | AC | 609 ms | 109940 KiB |
| max_07.txt | AC | 654 ms | 114704 KiB |
| max_08.txt | AC | 913 ms | 128280 KiB |
| max_09.txt | AC | 966 ms | 125756 KiB |
| max_10.txt | AC | 1103 ms | 129284 KiB |
| random_01.txt | AC | 255 ms | 88656 KiB |
| random_02.txt | AC | 498 ms | 89248 KiB |
| random_03.txt | AC | 572 ms | 113360 KiB |
| random_04.txt | AC | 388 ms | 83000 KiB |
| random_05.txt | AC | 362 ms | 94600 KiB |
| random_06.txt | AC | 421 ms | 84556 KiB |
| sample_01.txt | AC | 55 ms | 62808 KiB |
| sample_02.txt | AC | 66 ms | 62892 KiB |