結果
| 問題 |
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()