結果
問題 |
No.1285 ゴミ捨て
|
ユーザー |
![]() |
提出日時 | 2020-11-13 21:22:29 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 613 bytes |
コンパイル時間 | 164 ms |
コンパイル使用メモリ | 81,900 KB |
実行使用メモリ | 77,416 KB |
最終ジャッジ日時 | 2024-07-22 20:24:43 |
合計ジャッジ時間 | 3,109 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 1 |
other | AC * 1 WA * 21 |
ソースコード
from bisect import bisect_left def lis(array): lis_array = [array[0]] for i in range(1, len(array)): if array[i] > lis_array[-1]: # aがlis_arrayの末尾よりも大きければ増加部分列を延長できる lis_array.append(array[i]) else: # そうでなければ、「arrayより小さい最大要素の次」をarrayにする # 該当位置は、二分探索で特定 lis_array[bisect_left(lis_array, array[i])] = array[i] return len(lis_array) n = int(input()) a = [int(input()) for i in range(n)] print(lis(a))