QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#349423 | #8057. Best Carry Player 4 | teikn# | TL | 3ms | 9988kb | Python3 | 959b | 2024-03-10 01:52:18 | 2024-03-10 01:52:19 |
Judging History
answer
import sys
for _ in range(int(input())):
m=int(input())
a=list(map(int,sys.stdin.readline().strip().split()))
b=list(map(int,sys.stdin.readline().strip().split()))
a0=a[0]
b0=b[0]
ans=0
for kk in range(2):
if kk:
a[0]=a0
b[0]=float('inf')
else:
a[0]=float('inf')
b[0]=b0
mxtot=0
cr=0
nm1=0
for i in range(m):
if min(mxtot,a[i]):
cr=1
mxtot += b[~i]
mv = min(mxtot,a[i])
mxtot -= mv
if nm1 and a[i] > mv:
cr = 1
nm1 += mv
if cr:
ans=max(ans,nm1)
else:
if max((i for i in range(m) if a[i] > 0), default=0) + max((i for i in range(m) if b[i] > 0), default=0) < m:
pass
else:
ans = max(nm1-1,ans)
print(ans)
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 9988kb
input:
5 2 1 2 3 4 3 1 0 1 0 1 0 4 1 0 0 1 1 1 1 1 5 123456 114514 1919810 233333 234567 20050815 998244353 0 0 0 10 5 3 5 3 2 4 2 4 1 5 9 9 8 2 4 4 3 5 3 0
output:
5 1 2 467900 29
result:
ok 5 number(s): "5 1 2 467900 29"
Test #2:
score: -100
Time Limit Exceeded
input:
100000 5 0 1 1 1 1 0 0 1 0 0 5 0 0 0 0 0 1 1 1 0 0 5 0 0 2 1 1 0 2 1 0 1 5 0 0 0 0 0 1 2 1 0 0 5 0 1 0 1 1 0 0 1 1 1 5 2 0 0 0 1 1 0 0 0 3 5 2 0 0 1 1 0 2 1 1 1 5 0 0 0 0 2 0 0 0 0 1 5 0 0 0 0 0 0 1 1 0 0 5 4 0 0 0 0 0 0 0 1 0 5 0 0 0 0 1 2 1 1 0 0 5 0 2 3 0 0 0 0 0 1 0 5 1 1 1 0 1 1 0 1 0 1 5 0 0 0...
output:
2 0 4 0 3 3 3 2 0 0 1 1 3 0 3 0 0 0 0 0 0 0 4 0 4 1 0 2 3 3 1 5 0 0 2 0 0 1 1 0 0 3 5 3 2 2 2 0 1 2 2 2 0 3 0 2 1 1 0 1 0 4 0 0 2 2 0 3 3 0 2 0 1 0 0 1 1 2 0 3 4 0 2 5 0 2 1 0 0 0 3 2 3 0 2 0 4 3 3 0 2 2 0 1 3 1 1 0 0 0 1 0 3 2 2 0 2 1 1 0 1 0 0 2 4 1 3 3 2 2 2 0 2 0 0 2 3 1 3 1 0 2 2 3 0 1 2 0 1 1 ...