hiho week 260 register

Ended

Participants:68

Verdict:Accepted
Score:100 / 100
Submitted:2019-06-25 21:22:44

Lang:Python2

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
n,m,k = map(int,raw_input().split())
nm = []
for i in range(n):
    line = list(map(int,raw_input().split()))
    nm.append(line[:])
    
psum = [[[0]*(m+1) for _ in range(m+1)] for __ in range(n+1)]
for p in range(n):
    for i in range(0,m):
        for j in range(i+1,m+1):
            if i == 0:
                psum[p][i][j] = psum[p][i][j-1] + nm[p][j-1]
            else:
                psum[p][i][j] = psum[p][0][j] - psum[p][0][i]
maxm = 0
for i in range(0,m):
    for j in range(i+1,m+1):
        p = 0
        q = 1
        s = psum[p][i][j]
        while p<n and q<n+1:
            if s<=k:
                maxm = max((q-p) * (j-i)maxm)
                q += 1
                s += psum[q-1][i][j]
            else:
                p += 1
                s -= psum[p-1][i][j]
                
if maxm == 0:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX