結果
問題 | No.1188 レベルX門松列 |
ユーザー | tonnnura172 |
提出日時 | 2020-10-21 19:58:21 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 479 ms / 2,000 ms |
コード長 | 1,244 bytes |
コンパイル時間 | 264 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 29,992 KB |
最終ジャッジ日時 | 2024-07-21 09:01:26 |
合計ジャッジ時間 | 7,946 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 466 ms
20,008 KB |
testcase_01 | AC | 399 ms
24,044 KB |
testcase_02 | AC | 356 ms
22,112 KB |
testcase_03 | AC | 479 ms
27,000 KB |
testcase_04 | AC | 463 ms
29,892 KB |
testcase_05 | AC | 34 ms
11,136 KB |
testcase_06 | AC | 463 ms
15,824 KB |
testcase_07 | AC | 464 ms
29,096 KB |
testcase_08 | AC | 468 ms
29,992 KB |
testcase_09 | AC | 35 ms
11,136 KB |
testcase_10 | AC | 35 ms
11,136 KB |
testcase_11 | AC | 65 ms
12,160 KB |
testcase_12 | AC | 68 ms
12,160 KB |
testcase_13 | AC | 70 ms
12,160 KB |
testcase_14 | AC | 291 ms
19,704 KB |
testcase_15 | AC | 476 ms
27,056 KB |
testcase_16 | AC | 42 ms
11,264 KB |
testcase_17 | AC | 374 ms
23,056 KB |
testcase_18 | AC | 36 ms
11,008 KB |
testcase_19 | AC | 351 ms
21,944 KB |
testcase_20 | AC | 35 ms
11,264 KB |
testcase_21 | AC | 36 ms
11,136 KB |
testcase_22 | AC | 37 ms
11,136 KB |
testcase_23 | AC | 36 ms
11,264 KB |
ソースコード
import sys, re from collections import deque, defaultdict, Counter from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, gcd from itertools import accumulate, permutations, combinations, product, groupby, combinations_with_replacement from operator import itemgetter, mul from copy import deepcopy from string import ascii_lowercase, ascii_uppercase, digits from bisect import bisect, bisect_left from heapq import heappush, heappop from functools import reduce def input(): return sys.stdin.readline().strip() def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(): return list(map(int, input().split())) def ZIP(n): return zip(*(MAP() for _ in range(n))) sys.setrecursionlimit(10 ** 9) INF = float('inf') mod = 10 ** 9 + 7 N = INT() A = LIST() def LIS(a): N = len(a) dp = [INF]*N size = [0]*N for i in range(N): idx = bisect_left(dp, a[i]) dp[idx] = a[i] size[i] = idx+1 return size def LDS(a): return LIS([-x for x in a]) linc = LIS(A) ldec = LDS(A) A = A[::-1] rinc = LDS(A) rdec = LIS(A) ans = 0 for i in range(N): ans = max( ans, min(linc[i], rdec[N-1-i]), min(ldec[i], rinc[N-1-i]) ) print(ans-1)