結果
問題 | No.8055 2019(注:異常な難易度です) |
ユーザー |
|
提出日時 | 2019-04-02 04:42:35 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 69 ms / 2,000 ms |
コード長 | 741 bytes |
コンパイル時間 | 167 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 15,616 KB |
最終ジャッジ日時 | 2024-11-27 16:24:44 |
合計ジャッジ時間 | 8,636 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 91 |
ソースコード
D = 100000 # sum 1..x def f(x): return x*(x+1)//2 def main(): n = int(input()) x = [1 for i in range(D)] x[0] = 0 for i in range(3,D): x[i] += f(i-2) d,s = 0,0 while s+x[d] < n: s += x[d] d += 1 # print(s,d) b = [1 for i in range(d)] l = 1 while l < d-1: if s + (d-1-l) >= n: break s += (d-1-l) l += 1 # print(s,l) if l < d-1: r = d-2 s += 1 while r > l: if s == n: break s += 1 r -= 1 for i in range(l,r+1): b[i] = 0 ans = 0 for i in b: ans = ans*2 + i print(ans) if __name__ == "__main__": main()