結果
問題 | No.1687 What the Heck? |
ユーザー |
![]() |
提出日時 | 2021-09-24 21:57:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 83 ms / 2,000 ms |
コード長 | 618 bytes |
コンパイル時間 | 141 ms |
コンパイル使用メモリ | 82,640 KB |
実行使用メモリ | 107,764 KB |
最終ジャッジ日時 | 2024-07-05 10:32:28 |
合計ジャッジ時間 | 2,006 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
N = int(input()) P = list(map(int, input().split())) if N == 1: print(0) exit() if N == 2 and P[0]==1: print(0) exit() i = P.index(N)+1 ans1 = N*(N+1)//2-i*2 P = P[::-1] L = [0]*(N+1) ans = 0 mi = 1 for i in range(N): p = P[i] for j in range(p+1,N+1): if L[j]==0: L[j]=1 ans += N-i break else: if L[p]==0: L[p]=1 else: for j in range(mi,N+1): if L[j]==0: mi=j+1 L[j]=1 ans -= N-i break print(max(ans,ans1))