結果
問題 | No.1525 Meximum Sum |
ユーザー | nrkt |
提出日時 | 2021-05-31 20:25:49 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 102 ms / 2,000 ms |
コード長 | 884 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 82,280 KB |
実行使用メモリ | 107,264 KB |
最終ジャッジ日時 | 2024-04-26 08:16:42 |
合計ジャッジ時間 | 3,484 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 44 ms
54,272 KB |
testcase_01 | AC | 44 ms
54,784 KB |
testcase_02 | AC | 49 ms
55,040 KB |
testcase_03 | AC | 47 ms
54,272 KB |
testcase_04 | AC | 45 ms
54,784 KB |
testcase_05 | AC | 44 ms
54,272 KB |
testcase_06 | AC | 44 ms
54,144 KB |
testcase_07 | AC | 46 ms
54,272 KB |
testcase_08 | AC | 79 ms
91,904 KB |
testcase_09 | AC | 88 ms
100,224 KB |
testcase_10 | AC | 60 ms
73,728 KB |
testcase_11 | AC | 66 ms
80,128 KB |
testcase_12 | AC | 84 ms
96,128 KB |
testcase_13 | AC | 95 ms
105,344 KB |
testcase_14 | AC | 93 ms
105,088 KB |
testcase_15 | AC | 97 ms
105,344 KB |
testcase_16 | AC | 94 ms
105,116 KB |
testcase_17 | AC | 92 ms
105,472 KB |
testcase_18 | AC | 95 ms
105,052 KB |
testcase_19 | AC | 94 ms
105,088 KB |
testcase_20 | AC | 98 ms
105,048 KB |
testcase_21 | AC | 102 ms
107,264 KB |
testcase_22 | AC | 92 ms
105,088 KB |
testcase_23 | AC | 95 ms
107,008 KB |
testcase_24 | AC | 97 ms
107,000 KB |
testcase_25 | AC | 101 ms
106,880 KB |
ソースコード
#!/usr/bin/env python3 import sys import math from bisect import bisect_right as br from bisect import bisect_left as bl sys.setrecursionlimit(2147483647) from heapq import heappush, heappop,heappushpop from collections import defaultdict from itertools import accumulate from collections import Counter from collections import deque from operator import itemgetter from itertools import permutations mod = 10**9 + 7 inf = float('inf') def I(): return int(sys.stdin.readline()) def LI(): return list(map(int,sys.stdin.readline().split())) n = I() a = LI() b = [-1] * (n) for i in range(n): b[a[i]] = i ans = 0 l = b[0] r = b[0] for i in range(n-1): if l <= b[i+1] <= r: continue if b[i+1] < l: ans += (i+1) * (l - b[i+1]) * (n - r) else: ans += (i+1) * (b[i+1] - r) * (l + 1) l = min(l, b[i+1]) r = max(r, b[i+1]) ans += n print(ans)