結果
問題 | No.1188 レベルX門松列 |
ユーザー | tonnnura172 |
提出日時 | 2020-10-21 19:58:21 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 431 ms / 2,000 ms |
コード長 | 1,244 bytes |
コンパイル時間 | 243 ms |
コンパイル使用メモリ | 11,076 KB |
実行使用メモリ | 29,104 KB |
最終ジャッジ日時 | 2023-09-28 14:20:41 |
合計ジャッジ時間 | 7,645 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge12 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 394 ms
17,180 KB |
testcase_01 | AC | 357 ms
22,960 KB |
testcase_02 | AC | 324 ms
20,668 KB |
testcase_03 | AC | 429 ms
25,368 KB |
testcase_04 | AC | 423 ms
28,412 KB |
testcase_05 | AC | 29 ms
9,504 KB |
testcase_06 | AC | 389 ms
14,088 KB |
testcase_07 | AC | 424 ms
27,980 KB |
testcase_08 | AC | 425 ms
29,104 KB |
testcase_09 | AC | 29 ms
9,536 KB |
testcase_10 | AC | 29 ms
9,616 KB |
testcase_11 | AC | 56 ms
10,532 KB |
testcase_12 | AC | 59 ms
10,704 KB |
testcase_13 | AC | 60 ms
10,596 KB |
testcase_14 | AC | 257 ms
17,924 KB |
testcase_15 | AC | 431 ms
25,336 KB |
testcase_16 | AC | 34 ms
9,700 KB |
testcase_17 | AC | 332 ms
21,232 KB |
testcase_18 | AC | 29 ms
9,504 KB |
testcase_19 | AC | 315 ms
20,620 KB |
testcase_20 | AC | 29 ms
9,612 KB |
testcase_21 | AC | 29 ms
9,612 KB |
testcase_22 | AC | 29 ms
9,524 KB |
testcase_23 | AC | 29 ms
9,520 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)