結果
| 問題 |
No.1490 スライムと爆弾
|
| コンテスト | |
| ユーザー |
da_ab
|
| 提出日時 | 2021-04-23 23:09:58 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 786 bytes |
| コンパイル時間 | 149 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 51,192 KB |
| 最終ジャッジ日時 | 2024-07-04 08:41:39 |
| 合計ジャッジ時間 | 13,740 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 TLE * 1 -- * 17 |
ソースコード
# 1490 スライムと爆弾
import numpy as np
from sys import stdin
readline=stdin.readline
h,w,n,m=map(int,readline().split())
T=[0]*n; U=[0]*n; L=[0]*n; R=[0]*n; A=[0]*n
X=[0]*m; Y=[0]*m; B=[0]*m; C=[0]*m
for k in range(n):
T[k],U[k],L[k],R[k],A[k]=map(int,readline().split())
for k in range(m):
X[k],Y[k],B[k],C[k]=map(int,readline().split())
damageMap=np.zeros((h+1+1,w+1+1))
for k in range(m):
for i in range(max(Y[k]-B[k],1),min(Y[k]+B[k],h+1)+1):
for j in range(max(X[k]-B[k],1),min(X[k]+B[k],w+1)+1):
damageMap[i][j]+=C[k]
slimes=n
for k in range(n):
lp=A[k]
for i in range(T[k],U[k]+1):
for j in range(L[k],R[k]+1):
lp-=damageMap[i][j]
if lp<=0:
slimes-=1
break
print(slimes)
da_ab