結果
| 問題 |
No.1726 [Cherry 3rd Tune B] ジャマイカビアポン
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-01-23 02:14:29 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,353 ms / 3,000 ms |
| コード長 | 1,199 bytes |
| コンパイル時間 | 245 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 330,000 KB |
| 最終ジャッジ日時 | 2024-09-28 06:34:34 |
| 合計ジャッジ時間 | 22,671 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 39 |
ソースコード
## https://yukicoder.me/problems/no/1726
def main():
N, M = map(int, input().split())
P = list(map(int, input().split()))
grasses = {}
for i in range(N):
a, b = map(int, input().split())
grasses[(a, b)] = P[i]
balls = []
for _ in range(M):
c, d = map(int, input().split())
balls.append((c, d))
def calc(balls, grasses, keys):
answer = 0
vector_map = {}
for base_ball in balls:
for (gx, gy), p in grasses.items():
vx = gx - base_ball[0]
vy = gy - base_ball[1]
if (vx, vy) not in vector_map:
vector_map[(vx, vy)] = 0
vector_map[(vx, vy)] += p
ans = max(vector_map.values())
return max(answer, ans)
keys = list(grasses.keys())
answer1 = calc(balls, grasses, keys)
answer2 = calc([(x, -y) for x, y in balls], grasses, keys)
answer3 = calc([(-x, y) for x, y in balls], grasses, keys)
answer4 = calc([(-x, -y) for x, y in balls], grasses, keys)
answer = max(answer1, answer2, answer3, answer4)
print(answer)
if __name__ == '__main__':
main()