結果
問題 |
No.2522 Fall in love, Girls!
|
ユーザー |
![]() |
提出日時 | 2022-01-24 21:23:01 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 897 bytes |
コンパイル時間 | 169 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 65,536 KB |
最終ジャッジ日時 | 2024-09-25 13:15:40 |
合計ジャッジ時間 | 3,389 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 4 |
other | RE * 30 |
ソースコード
#嘘解法 import sys input = sys.stdin.readline n, s = map(int, input().split()) a = [1, 2] for i in range(n - 2): a.append(a[i] + a[i + 1]) fa = a[:(n // 2)]; fl = len(fa) sa = a[(n // 2):]; sl = len(sa) def dict(a): d = {} st = set([]) l = len(a) for bit in range(1 << l): b = bit f = False while(b): if((b & 3) == 3): f = True break b >>= 1 if(f): continue val = 0 for i in range(l): if((bit >> i) & 1): val += a[i] d[val] = bit st.add(val) return d, st fd, fst = dict(fa) sd, sst = dict(sa) ans = [] for v in fst: nv = s - v if(nv not in sst): continue fbit = fd[v] sbit = sd[nv] #if(((fbit >> (fl - 1)) & 1) and (sbit & 1)): #continue for i in range(fl): if((fbit >> i) & 1): ans.append(i + 1) for i in range(sl): if((sbit >> i) & 1): ans.append(fl + i + 1) break else: print("No") exit(0) print("Yes") print(*ans)