Submission #1159888

#TimeUsernameProblemLanguageResultExecution timeMemory
1159888eliiasgDrivers (BOI24_drivers)Pypy 3
0 / 100
209 ms54248 KiB
from heapq import *
N, M, U = map(int, input().split())
roads = sorted(tuple(reversed(list(map(int, input().split())))) for _ in range(M))[::-1]
Q = sorted(tuple(reversed(list(map(int, input().split())))) + (i,) for i in range(U))

parents = [-1]*(N+1)
out = [None]*U

def find(a):
    if parents[a] == -1:
        return a
    parents[a] = find(parents[a])
    return parents[a]

for t, aq, bq, i in Q:
    while len(roads) > 0 and t >= roads[-1][0]:
        _, a, b = roads.pop()
        a = find(a)
        b = find(b)
        parents[a] = b
    
    aq = find(aq)
    bq = find(bq)
    out[i] = "TAIP" if aq == bq else "NE"

print("\n".join(out))

Compilation message (stdout)

Compiling 'Main.py'...

=======
  adding: __main__.pyc (deflated 39%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...