結果
問題 | No.2300 Substring OR Sum |
ユーザー | McGregorsh |
提出日時 | 2023-05-12 22:54:20 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 559 ms / 2,000 ms |
コード長 | 1,752 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 168,924 KB |
最終ジャッジ日時 | 2024-05-06 12:57:03 |
合計ジャッジ時間 | 8,534 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 147 ms
89,560 KB |
testcase_01 | AC | 143 ms
89,600 KB |
testcase_02 | AC | 139 ms
89,520 KB |
testcase_03 | AC | 260 ms
109,648 KB |
testcase_04 | AC | 246 ms
106,112 KB |
testcase_05 | AC | 257 ms
111,232 KB |
testcase_06 | AC | 202 ms
98,944 KB |
testcase_07 | AC | 535 ms
166,144 KB |
testcase_08 | AC | 331 ms
119,316 KB |
testcase_09 | AC | 267 ms
112,964 KB |
testcase_10 | AC | 464 ms
148,776 KB |
testcase_11 | AC | 516 ms
158,080 KB |
testcase_12 | AC | 559 ms
166,912 KB |
testcase_13 | AC | 482 ms
168,924 KB |
testcase_14 | AC | 422 ms
164,252 KB |
testcase_15 | AC | 314 ms
121,984 KB |
testcase_16 | AC | 458 ms
148,864 KB |
testcase_17 | AC | 557 ms
165,504 KB |
testcase_18 | AC | 155 ms
89,216 KB |
testcase_19 | AC | 155 ms
89,288 KB |
testcase_20 | AC | 154 ms
89,216 KB |
testcase_21 | AC | 148 ms
89,808 KB |
testcase_22 | AC | 141 ms
89,216 KB |
ソースコード
import sys, re from fractions import Fraction from math import ceil, floor, sqrt, pi, factorial, gcd from copy import deepcopy from collections import Counter, deque, defaultdict from heapq import heapify, heappop, heappush from itertools import accumulate, product, combinations, combinations_with_replacement, permutations from bisect import bisect, bisect_left, bisect_right from functools import reduce from decimal import Decimal, getcontext, ROUND_HALF_UP def i_input(): return int(input()) def i_map(): return map(int, input().split()) def i_list(): return list(i_map()) def i_row(N): return [i_input() for _ in range(N)] def i_row_list(N): return [i_list() for _ in range(N)] def s_input(): return input() def s_map(): return input().split() def s_list(): return list(s_map()) def s_row(N): return [s_input for _ in range(N)] def s_row_str(N): return [s_list() for _ in range(N)] def s_row_list(N): return [list(s_input()) for _ in range(N)] def lcm(a, b): return a * b // gcd(a, b) def get_distance(x1, y1, x2, y2): d = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) return d def rotate(table): n_fild = [] for x in zip(*table[::-1]): n_fild.append(x) return n_fild sys.setrecursionlimit(10 ** 7) INF = float('inf') MOD = 10 ** 9 + 7 MOD2 = 998244353 def main(): N = int(input()) A = i_list() S = [[False] * N for i in range(30)] for i in range(N): for j in range(30): if ((A[i] >> j) % 2 == 1): S[j][i] = True ans = 0 for i in range(30): cost = 0 for j in range(N-1, -1, -1): if S[i][j]: cost = N - j score = cost * (2 ** i) ans += score print(ans) if __name__ == '__main__': main()