Submission #14404944
Source Code Expand
import sys
from heapq import heappop, heappush, heapify
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
n_cls = 200_000
N, Q = map(int, readline().split())
m = map(int, read().split())
ABCD = tuple(zip(m, m))
AB = ABCD[:N]
CD = ABCD[N:]
enji_rate = [0] * (N + 1)
enji_cls = [0] * (N + 1)
cls_rate = [[] for _ in range(n_cls + 1)]
for i, (a, b) in enumerate(AB, 1):
enji_rate[i] = a
enji_cls[i] = b
heappush(cls_rate[b], (-a, i))
def max_rate_in_cls(c):
q = cls_rate[c]
while q:
x, enj = q[0]
if enji_cls[enj] == c:
return -x
else:
heappop(q)
return 0
max_rate = []
for c in range(n_cls + 1):
x = max_rate_in_cls(c)
if x:
max_rate.append((x, c))
heapify(max_rate)
def max_rate_in_cls(c):
q = cls_rate[c]
while q:
x, enj = q[0]
if enji_cls[enj] == c:
return -x
else:
heappop(q)
return 0
def get_ans():
q = max_rate
while True:
x, c = q[0]
if max_rate_in_cls(c) == x:
return x
heappop(q)
for enj, after_cls in CD:
before_cls = enji_cls[enj]
heappush(cls_rate[after_cls], (-enji_rate[enj], enj))
enji_cls[enj] = after_cls
for c in (before_cls, after_cls):
x = max_rate_in_cls(c)
if x != 0:
heappush(max_rate, (x, c))
print(get_ans())
Submission Info
| Submission Time | |
|---|---|
| Task | E - Smart Infants |
| User | maspy |
| Language | Python (3.8.2) |
| Score | 500 |
| Code Size | 1503 Byte |
| Status | AC |
| Exec Time | 1615 ms |
| Memory | 166716 KiB |
Judge Result
| Set Name | Sample | All | ||
|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||
| Status | AC |
|
| Set Name | Test Cases |
|---|---|
| Sample | |
| All | handmade02, handmade03, handmade04, handmade05, handmade06, handmade07, handmade08, handmade09, random10, sample00, sample01 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| handmade02 | AC | 105 ms | 23108 KiB |
| handmade03 | AC | 104 ms | 23348 KiB |
| handmade04 | AC | 104 ms | 23468 KiB |
| handmade05 | AC | 982 ms | 71056 KiB |
| handmade06 | AC | 1210 ms | 158160 KiB |
| handmade07 | AC | 1251 ms | 159152 KiB |
| handmade08 | AC | 1508 ms | 145664 KiB |
| handmade09 | AC | 1511 ms | 146060 KiB |
| random10 | AC | 1615 ms | 166716 KiB |
| sample00 | AC | 99 ms | 22948 KiB |
| sample01 | AC | 105 ms | 22944 KiB |