結果
問題 |
No.1726 [Cherry 3rd Tune B] ジャマイカビアポン
|
ユーザー |
![]() |
提出日時 | 2025-03-20 20:33:59 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 2,425 bytes |
コンパイル時間 | 342 ms |
コンパイル使用メモリ | 82,184 KB |
実行使用メモリ | 83,480 KB |
最終ジャッジ日時 | 2025-03-20 20:35:16 |
合計ジャッジ時間 | 6,171 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 TLE * 1 -- * 24 |
ソースコード
def main(): import sys input = sys.stdin.read data = input().split() idx = 0 N = int(data[idx]); idx += 1 M = int(data[idx]); idx += 1 P = list(map(int, data[idx:idx+N])); idx += N a = [] b = [] for _ in range(N): ai = int(data[idx]); idx += 1 bi = int(data[idx]); idx += 1 a.append(ai) b.append(bi) c = [] d = [] for _ in range(M): cj = int(data[idx]); idx += 1 dj = int(data[idx]); idx += 1 c.append(cj) d.append(dj) balls_set = set(zip(c, d)) max_total = 0 # Case 1: even x, even y (shift) for i in range(N): for j in range(M): delta_x = c[j] - a[i] delta_y = d[j] - b[i] current_sum = 0 for k in range(N): x = a[k] + delta_x y = b[k] + delta_y if (x, y) in balls_set: current_sum += P[k] if current_sum > max_total: max_total = current_sum # Case 2: even x, odd y (x shift, y flip+shift) for i in range(N): for j in range(M): delta_x = c[j] - a[i] delta_y = d[j] + b[i] current_sum = 0 for k in range(N): x = a[k] + delta_x y = delta_y - b[k] if (x, y) in balls_set: current_sum += P[k] if current_sum > max_total: max_total = current_sum # Case 3: odd x, even y (x flip+shift, y shift) for i in range(N): for j in range(M): cx = c[j] + a[i] s = d[j] - b[i] current_sum = 0 for k in range(N): x = cx - a[k] y = b[k] + s if (x, y) in balls_set: current_sum += P[k] if current_sum > max_total: max_total = current_sum # Case 4: odd x, odd y (both flip+shift) for i in range(N): for j in range(M): cx = c[j] + a[i] dy = d[j] + b[i] current_sum = 0 for k in range(N): x = cx - a[k] y = dy - b[k] if (x, y) in balls_set: current_sum += P[k] if current_sum > max_total: max_total = current_sum print(max_total) if __name__ == '__main__': main()