結果
問題 |
No.2300 Substring OR Sum
|
ユーザー |
|
提出日時 | 2025-05-16 01:58:35 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 627 ms / 2,000 ms |
コード長 | 642 bytes |
コンパイル時間 | 594 ms |
コンパイル使用メモリ | 82,980 KB |
実行使用メモリ | 282,648 KB |
最終ジャッジ日時 | 2025-05-16 01:58:45 |
合計ジャッジ時間 | 7,873 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
## https://yukicoder.me/problems/no/2300 def main(): N = int(input()) A = list(map(int, input().split())) answer = 0 for k in range(28): a_array = [] for a in A: l = 1 if a & (1 << k) > 0 else 0 a_array.append(l) a_str = "".join(map(str, a_array)) l_array = a_str.split("1") y = 0 for l in l_array: l_len = len(l) x = (l_len * (l_len + 1)) // 2 y += x n2 = (N * (N + 1)) // 2 n1 = n2 - y answer += n1 * (1 << k) print(answer) if __name__ == '__main__': main()