Problem:


Score : 300 points

Problem Statement

We have two desks: A and B. Desk A has a vertical stack of N books on it, and Desk B similarly has M books on it.

It takes us A_i minutes to read the i-th book from the top on Desk A (1 \leq i \leq N), and B_i minutes to read the i-th book from the top on Desk B (1 \leq i \leq M).

Consider the following action:

Choose a desk with a book remaining, read the topmost book on that desk, and remove it from the desk.

How many books can we read at most by repeating this action so that it takes us at most K minutes in total? We ignore the time it takes to do anything other than reading.

Constraints

1 \leq N, M \leq 200000

1 \leq K \leq 10^9

1 \leq A_i, B_i \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N M K
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_M

Output

Print an integer representing the maximum number of books that can be read.

Sample Input 1

3 4 240
60 90 120
80 150 80 150

Sample Output 1

3

In this case, it takes us 60, 90, 120 minutes to read the 1-st, 2-nd, 3-rd books from the top on Desk A, and 80, 150, 80, 150 minutes to read the 1-st, 2-nd, 3-rd, 4-th books from the top on Desk B, respectively.

We can read three books in 230 minutes, as shown below, and this is the maximum number of books we can read within 240 minutes.

Read the topmost book on Desk A in 60 minutes, and remove that book from the desk.

Read the topmost book on Desk B in 80 minutes, and remove that book from the desk.

Read the topmost book on Desk A in 90 minutes, and remove that book from the desk.

Sample Input 2

3 4 730
60 90 120
80 150 80 150

Sample Output 2

7

Sample Input 3

5 4 1
1000000000 1000000000 1000000000 1000000000 1000000000
1000000000 1000000000 1000000000 1000000000

Sample Output 3

0

Watch out for integer overflows.



Sample input:
3 4 240
60 90 120
80 150 80 150


Sample output:
3

Submission status: Accepted

Solution code:
# compiled by pythran
"""
#pythran export main2()
import numpy as np
i4 = np.int32
i8 = np.int64


def main(in_file):
    stdin = open(in_file)
    N, M, K = [int(x) for x in stdin.readline().split()]
    a = np.array([int(x) for x in stdin.readline().split()])
    b = np.array([int(x) for x in stdin.readline().split()])

    ca = np.cumsum(a)
    ca = np.hstack(([0], ca))
    cb = np.cumsum(b)
    cb = np.hstack(([0], cb))

    na = np.searchsorted(ca, K, side='right')
    ans = 0
    for i in range(na - 1, -1, -1):
        n = K - ca[i]
        j = np.searchsorted(cb, n, side='right')
        ans = max(ans, i + j - 1)
    print(ans)






def main2():
    main('/dev/stdin')
"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'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'
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)

Submission status: Accepted

Solution code:
N, M, K = map(int,input().split())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
Asum = [0]
Bsum = [0]
a = 0
b = 0
for i in range(N):
    a += A[i]
    Asum.append(a)
for i in range(M):
    b += B[i]
    Bsum.append(b)
Asum.append(0)
Bsum.append(0)
res, j = 0, M
for i in range(N+1):
    if Asum[i] > K:
        break
    while Asum[i] + Bsum[j] > K:
            j -= 1
    res = max(res,i+j)
print(res)

Submission status: Accepted

Solution code:
N,M,K = map(int, input().split())
A = [0] + list(map(int, input().split()))
B = [0] + list(map(int, input().split()))

for i in range(1, N+1):
    A[i] += A[i-1]
for i in range(1, M+1):
    B[i] += B[i-1]

ans = 0
j = M

for i in range(N+1):
    if A[i] > K:
        break
    while A[i] + B[j] > K:
        j -= 1
    ans = max(ans, i + j)

print(ans)

Submission status: Accepted

Solution code:
n, m, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

ans = 0
ia = -1
ib = -1

nowtime = 0
cnt = 0
for i in range(n):
    if nowtime + a[i] <= k:
        nowtime += a[i]
        cnt += 1
        ia = i
    else:
        break

ans = cnt
# print(ans, nowtime)
for i in range(m):
    while nowtime + b[i] > k and ia >= 0:
        nowtime -= a[ia]
        cnt -= 1
        ia -= 1
    if nowtime + b[i] > k:
        break
    nowtime += b[i]
    cnt += 1
    ans = max(ans, cnt)

print(ans)

Submission status: Accepted

Solution code:
def resolve():
    N, M, K = list(map(int, input().split()))
    A = list(map(int, input().split()))
    B = list(map(int, input().split()))
    def isok(num):
        if num >= N:
            anum = N
            bnum = num-anum
        else:
            anum = num
            bnum = 0
        atotal = sum(A[:anum])
        btotal = sum(B[:bnum])
        if atotal + btotal <= K:
            return True
        i = 0
        while not (anum-1-i < 0 or bnum+i >= M):
            atotal -= A[anum-1-i]
            btotal += B[bnum+i]
            if atotal + btotal <= K:
                return True
            i += 1
        return False
    
    left = -1
    right = N+M+1
    while (right - left) > 1:
        mid = left + (right - left)//2
            
        if isok(mid):
            left = mid
        else:
            right = mid
    print(left)


if '__main__' == __name__:
    resolve()

Submission status: Accepted

Solution code:
n,m,k=map(int,input().split())
A=list(map(int,input().split()))
B=list(map(int,input().split()))
tot_a=0
tot_b=0
#Aだけでどこまでいけるか
a=[0]
b=[0]
for i in range(n):
    a.append(a[-1]+A[i])
for j in range(m):
    b.append(b[-1]+B[j])
#print(a,b)
ans=0
j=m
for i in range(n+1):
    if a[i]>k:
        break
    while a[i]+b[j]>k:
        j-=1
    ans=max(ans,i+j)
print(ans)