結果
問題 | No.2855 Move on Grid |
ユーザー | timi |
提出日時 | 2024-09-04 15:48:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,003 ms / 3,000 ms |
コード長 | 853 bytes |
コンパイル時間 | 493 ms |
コンパイル使用メモリ | 82,388 KB |
実行使用メモリ | 139,360 KB |
最終ジャッジ日時 | 2024-09-04 15:48:38 |
合計ジャッジ時間 | 27,641 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 249 ms
81,672 KB |
testcase_01 | AC | 340 ms
83,776 KB |
testcase_02 | AC | 245 ms
81,588 KB |
testcase_03 | AC | 198 ms
79,280 KB |
testcase_04 | AC | 180 ms
78,336 KB |
testcase_05 | AC | 244 ms
81,472 KB |
testcase_06 | AC | 266 ms
82,952 KB |
testcase_07 | AC | 118 ms
77,516 KB |
testcase_08 | AC | 271 ms
80,276 KB |
testcase_09 | AC | 166 ms
79,076 KB |
testcase_10 | AC | 677 ms
116,160 KB |
testcase_11 | AC | 563 ms
116,892 KB |
testcase_12 | AC | 667 ms
116,808 KB |
testcase_13 | AC | 564 ms
116,696 KB |
testcase_14 | AC | 542 ms
116,148 KB |
testcase_15 | AC | 536 ms
116,964 KB |
testcase_16 | AC | 557 ms
117,068 KB |
testcase_17 | AC | 543 ms
116,944 KB |
testcase_18 | AC | 574 ms
116,876 KB |
testcase_19 | AC | 546 ms
116,392 KB |
testcase_20 | AC | 801 ms
109,576 KB |
testcase_21 | AC | 779 ms
114,952 KB |
testcase_22 | AC | 697 ms
109,248 KB |
testcase_23 | AC | 716 ms
107,860 KB |
testcase_24 | AC | 764 ms
107,316 KB |
testcase_25 | AC | 955 ms
123,972 KB |
testcase_26 | AC | 737 ms
107,516 KB |
testcase_27 | AC | 776 ms
113,420 KB |
testcase_28 | AC | 713 ms
109,468 KB |
testcase_29 | AC | 745 ms
109,004 KB |
testcase_30 | AC | 945 ms
120,956 KB |
testcase_31 | AC | 826 ms
124,708 KB |
testcase_32 | AC | 994 ms
130,684 KB |
testcase_33 | AC | 875 ms
131,936 KB |
testcase_34 | AC | 836 ms
125,064 KB |
testcase_35 | AC | 1,003 ms
139,300 KB |
testcase_36 | AC | 870 ms
139,360 KB |
testcase_37 | AC | 959 ms
123,520 KB |
testcase_38 | AC | 952 ms
132,068 KB |
testcase_39 | AC | 821 ms
120,728 KB |
ソースコード
N,M,K=map(int,input().split())\ # A=sorted(A,key=lambda x: x[1]) # A=sorted(A,key=lambda x: x[0]) C=[] for i in range(N): A=list(map(int, input().split())) C.append(A) ok,ng=1,10**9+1 from collections import deque d=deque() while (ng-ok)>1: mid=(ok+ng)//2 dp=[[10**10]*M for _ in range(N)] if C[0][0]>=mid: dp[0][0]=0 else: dp[0][0]=1 d.append((0,0,dp[0][0])) dx,dy=[0,0,1,-1],[1,-1,0,0] while d: x,y,s=d.popleft() if dp[x][y]!=s: continue for i in range(4): nx,ny=x+dx[i],y+dy[i] if 0<=nx<N and 0<=ny<M: ns=s if C[nx][ny]<mid: ns+=1 if dp[nx][ny]>ns: dp[nx][ny]=ns if s==ns: d.appendleft((nx,ny,ns)) else: d.append((nx,ny,ns)) if dp[-1][-1]<=K: ok=mid else: ng=mid print(ok)