Submission #1199827

#TimeUsernameProblemLanguageResultExecution timeMemory
1199827ofozTopical (NOI23_topical)Pypy 3
40 / 100
1100 ms323448 KiB
from sys import stdout, setrecursionlimit
from math import ceil, floor, sqrt, comb
from collections import deque

def higher(a: list[int], b: list[int]):
    assert len(a) == len(b)
    for i in range(len(a)):
        if b[i] > a[i]: return 0

    return 1

def solve():
    n, k = map(int, input().split(" "))
    cur = [0] * k
    a = []
    b = []
    for i in range(n): a.append((list(map(int, input().split(" "))), i))
    for _ in range(n): b.append(list(map(int, input().split(" "))))
    nxt = []
    res = 0

    
    for _ in range(n):
        found = False
        for (arr, i) in a:
            if found:
                nxt.append((arr, i))
                continue


            if higher(cur, arr):
                for j in range(k): cur[j] += b[i][j]
                found = True
                res += 1
                continue

            nxt.append((arr, i))
        a = nxt.copy()
        nxt = []

    print(res)




solve()
 

Compilation message (stdout)

Compiling 'Main.py'...

=======
  adding: __main__.pyc (deflated 36%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...