| Task: | Download Speed |
| Sender: | francden |
| Submission time: | 2025-10-13 19:55:41 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.04 s | details |
| #2 | RUNTIME ERROR | 0.06 s | details |
| #3 | ACCEPTED | 0.04 s | details |
| #4 | ACCEPTED | 0.04 s | details |
| #5 | WRONG ANSWER | 0.07 s | details |
| #6 | TIME LIMIT EXCEEDED | -- | details |
| #7 | TIME LIMIT EXCEEDED | -- | details |
| #8 | RUNTIME ERROR | 0.06 s | details |
| #9 | ACCEPTED | 0.04 s | details |
| #10 | ACCEPTED | 0.05 s | details |
| #11 | WRONG ANSWER | 0.07 s | details |
| #12 | RUNTIME ERROR | 0.07 s | details |
Code
import sys
sys.setrecursionlimit(100000)
n,m = [int(x) for x in input().split()]
connections = []
neighbors = []
for i in range(n):
connections.append([0 for i in range(n)])
neighbors.append([])
max_conn = 0
for i in range(m):
a,b,c = [int(x) for x in input().split()]
if not(b-1 in neighbors[a-1]):
neighbors[a-1].append(b-1)
neighbors[b-1].append(a-1)
connections[a-1][b-1]=c
max_conn = max(c,max_conn)
def search(L,mini,c):
last_summit = L[-1]
for node in neighbors[last_summit]:
if not(node in L):
curr_connection = connections[last_summit][node]
if curr_connection >= c:
if node == n-1:
mini = min(curr_connection,mini)
return L+[node],mini,False
mini = min(curr_connection,mini)
path,mini,flag = search(L+[node],mini,c)
if flag==False:
return path,mini,False
return [],0,True
def find_path():
#TODO
c = max_conn//2
flag = True
while flag and c>=1:
L,mini,flag = search([0],float('inf'),c)
c//=2
return L,mini
def sub_mini_from_path(path,mini):
for i in range(len(path)-1):
connections[path[i]][path[i+1]]-=mini
connections[path[i+1]][path[i]]+=mini
def find_max():
curr_max = 0
for i in range(n):
for node in neighbors[i]:
if connections[i][node]>curr_max:
curr_max = connections[i][node]
return(curr_max)
curr_path,mini = find_path()
total_flow = mini
while curr_path:
sub_mini_from_path(curr_path,mini)
curr_path,mini = find_path()
total_flow+=mini
print(total_flow)Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 4 3 1 2 5 2 3 3 3 4 6 |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 2
Verdict: RUNTIME ERROR
| input |
|---|
| 4 5 1 2 1 1 3 1 2 3 1 2 4 1 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 60, in <module>
curr_path,mini = find_path()
File "input/code.py", line 44, in find_path
return L,mini
UnboundLocalError: local variable 'L' referenced before assignmentTest 3
Verdict: ACCEPTED
| input |
|---|
| 4 5 1 2 1000000000 1 3 1000000000 2 3 1 2 4 1000000000 ... |
| correct output |
|---|
| 2000000000 |
| user output |
|---|
| 2000000000 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 2 1 2 1 100 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 5
Verdict: WRONG ANSWER
| input |
|---|
| 2 1000 1 2 1000000000 1 2 1000000000 1 2 1000000000 1 2 1000000000 ... |
| correct output |
|---|
| 1000000000000 |
| user output |
|---|
| 1000000000 |
Test 6
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 500 998 1 2 54 1 3 59 1 4 83 2 5 79 ... |
| correct output |
|---|
| 60 |
| user output |
|---|
| (empty) |
Test 7
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 500 998 1 2 530873053 1 3 156306296 1 4 478040476 3 5 303609600 ... |
| correct output |
|---|
| 1093765123 |
| user output |
|---|
| (empty) |
Test 8
Verdict: RUNTIME ERROR
| input |
|---|
| 2 1 1 2 1 |
| correct output |
|---|
| 1 |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 60, in <module>
curr_path,mini = find_path()
File "input/code.py", line 44, in find_path
return L,mini
UnboundLocalError: local variable 'L' referenced before assignmentTest 9
Verdict: ACCEPTED
| input |
|---|
| 4 5 1 2 3 2 4 2 1 3 4 3 4 5 ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 4 5 1 2 1 1 3 2 3 2 1 2 4 2 ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 11
Verdict: WRONG ANSWER
| input |
|---|
| 10 999 1 2 1000000000 1 2 1000000000 1 2 1000000000 1 2 1000000000 ... |
| correct output |
|---|
| 111000000000 |
| user output |
|---|
| 1000000000 |
Test 12
Verdict: RUNTIME ERROR
| input |
|---|
| 7 9 1 2 1 1 3 1 1 4 1 2 5 1 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 60, in <module>
curr_path,mini = find_path()
File "input/code.py", line 44, in find_path
return L,mini
UnboundLocalError: local variable 'L' referenced before assignment