結果
問題 |
No.2221 Set X
|
ユーザー |
![]() |
提出日時 | 2023-02-19 00:51:31 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 804 bytes |
コンパイル時間 | 265 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 85,120 KB |
最終ジャッジ日時 | 2024-07-20 06:45:10 |
合計ジャッジ時間 | 6,339 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 6 WA * 7 OLE * 1 -- * 26 |
ソースコード
def calc(x): score=1 for i in range(1,N): if A[i]//x!=A[i-1]//x: score+=1 return score*(x+1) def calc2(x): score=1 now=A[0]//x OK=0 while True: print(OK) NG=len(A) while NG>OK+1: mid=(OK+NG)//2 if A[mid]//x==now: OK=mid else: NG=mid if NG==len(A): break else: score+=1 now=A[NG]//x OK=NG return score*(x+1) N=int(input()) A=list(map(int,input().split())) ANS=1<<100 IND=-1 for i in range(1,100): k=calc(i) if k<ANS: ANS=k IND=i for j in range(100,ANS+1): k=calc2(i) if k<ANS: ANS=k IND=i print(IND) print(ANS)