complete 1325.py and 2470.py

This commit is contained in:
2024-05-16 23:51:27 +09:00
parent 47d3ab89ce
commit 3487bfc0ab
2 changed files with 74 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
from collections import deque
import sys
input = sys.stdin.readline
def bfs(N, H, start):
Vsx = [0] * (N + 1)
count = 0
D = deque()
D.append(start)
Vsx[start] = 1
while D:
now = D.pop()
count += 1
for target in H[now]:
if not Vsx[target]:
D.append(target)
Vsx[target] = 1
return count
def solve(N, M, H):
S = [bfs(N, H, i) for i in range(1, N + 1)]
m = max(S)
return [i + 1 for i, v in enumerate(S) if v == m]
if __name__ == "__main__":
N, M = map(int, input().split())
H = [[] for _ in range(N + 1)]
for _ in range(M):
s, e = map(int, input().split())
H[e].append(s)
print(*solve(N, M, H))

View File

@@ -0,0 +1,37 @@
def solve_simple(N, S):
_, s = min(
[
(abs(S[i] + S[j]), sorted((S[i], S[j])))
for i in range(N)
for j in range(N)
if i != j
]
)
return s
def solve(N: int, S: list) -> tuple[int, int]:
S.sort()
start = 0
end = N - 1
r = 10000000000
r_pos = None, None
while start < end:
s = S[start] + S[end]
if r > abs(s):
r = abs(s)
r_pos = start, end
if r == 0:
break
if s <= 0:
start += 1
elif s > 0:
end -= 1
return S[r_pos[0]], S[r_pos[1]]
if __name__ == "__main__":
N = int(input())
S = list(map(int, input().split()))
print(*solve(N, S))