結果
問題 | No.1246 ANDORゲーム(max) |
ユーザー | tamato |
提出日時 | 2020-10-02 23:14:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 717 ms / 2,000 ms |
コード長 | 768 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 82,404 KB |
実行使用メモリ | 90,056 KB |
最終ジャッジ日時 | 2024-07-17 23:36:25 |
合計ジャッジ時間 | 11,059 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 |
ソースコード
mod = 1000000007 eps = 10**-9 def main(): import sys input = sys.stdin.readline N, T = map(int, input().split()) A = list(map(int, input().split())) X = {T: 0} for a in A: X_new = {} for x in X: x_and = x & a x_or = x | a if x_and not in X_new: X_new[x_and] = X[x] + x - x_and else: X_new[x_and] = max(X_new[x_and], X[x] + x - x_and) if x_or not in X_new: X_new[x_or] = X[x] + x_or - x else: X_new[x_or] = max(X_new[x_or], X[x] + x_or - x) X = X_new #print(X) ans = 0 for x in X: ans = max(ans, X[x]) print(ans) if __name__ == '__main__': main()