結果
| 問題 |
No.60 魔法少女
|
| コンテスト | |
| ユーザー |
chocorusk
|
| 提出日時 | 2020-09-10 05:19:52 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,361 ms / 5,000 ms |
| コード長 | 682 bytes |
| コンパイル時間 | 163 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 82,316 KB |
| 最終ジャッジ日時 | 2024-12-17 23:59:36 |
| 合計ジャッジ時間 | 14,669 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 10 |
ソースコード
import sys
read=sys.stdin.buffer.read
readline=sys.stdin.buffer.readline
readlines=sys.stdin.buffer.readlines
n, k=map(int, readline().split())
myon=list(map(int, read().split()))
xyh=myon[:3*n]
awhd=myon[3*n:]
s=[[0]*1002 for _ in range(1002)]
for ax, ay, w, h, d in zip(*[iter(awhd)]*5):
ax+=500
ay+=500
s[ax][ay]+=d
bx, by=min(ax+w+1, 1001), min(ay+h+1, 1001)
s[bx][ay]-=d
s[ax][by]-=d
s[bx][by]+=d
for i in range(1001):
for j in range(1000):
s[i][j+1]+=s[i][j]
for i in range(1000):
for j in range(1001):
s[i+1][j]+=s[i][j]
ans=0
for x, y, h in zip(*[iter(xyh)]*3):
x+=500
y+=500
ans+=max(0, h-s[x][y])
print(ans)
chocorusk