結果

問題 No.709 優勝可能性
ユーザー ntuda
提出日時 2025-06-05 21:51:37
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 370 ms / 3,500 ms
コード長 669 bytes
コンパイル時間 630 ms
コンパイル使用メモリ 82,944 KB
実行使用メモリ 105,172 KB
最終ジャッジ日時 2025-06-05 21:51:46
合計ジャッジ時間 7,698 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

N, M = map(int, input().split())
Topmem = [[] for _ in range(M)]
Topval = [0] * M
NTop = [0] * N
ans = 0

for n in range(N):
    R = list(map(int, input().split()))
    for i in range(M):
        if R[i] > Topval[i]:
            while Topmem[i]:
                x = Topmem[i].pop()
                NTop[x] -= 1
                if NTop[x] == 0:
                    ans -= 1
            Topval[i] = R[i]
            Topmem[i].append(n)
            NTop[n] += 1
            if NTop[n] == 1:
                ans += 1
        if R[i] == Topval[i]:
            Topmem[i].append(n)
            NTop[n] += 1
            if NTop[n] == 1:
                ans += 1
    print(ans)
0