結果
| 問題 | No.1703 Much Matching |
| コンテスト | |
| ユーザー |
SidewaysOwl
|
| 提出日時 | 2021-10-08 23:03:00 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 633 bytes |
| 記録 | |
| コンパイル時間 | 208 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 199,624 KB |
| 最終ジャッジ日時 | 2024-07-23 06:24:33 |
| 合計ジャッジ時間 | 17,067 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 1 WA * 12 TLE * 4 -- * 18 |
ソースコード
n,m,q = map(int,input().split())
l1,l2 = [],[]
for _ in range(q):
a,b = map(int,input().split())
l1.append((a,b))
l2.append((b,a))
import bisect
def lis(l):
l.sort(key = lambda x:(x[0],x[1]))
flg = 0
ll = []
for i in range(q):
if l[i][0] != flg:
ll.append(l[i][1])
flg = l[i][0]
nn = len(ll)
dp = []
for i in range(nn):
idx = bisect.bisect_left(dp,ll[i])
# print(i,ll[i],idx,dp)
if idx == len(dp):
dp.append(ll[i])
else:
dp[idx] = ll[i]
# print(l,ll,dp)
return len(dp)
print(max(lis(l1),lis(l2)))
SidewaysOwl