結果
問題 | No.60 魔法少女 |
ユーザー | yuki2006 |
提出日時 | 2014-11-09 21:15:22 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 1,791 ms / 5,000 ms |
コード長 | 1,077 bytes |
コンパイル時間 | 47 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 50,560 KB |
最終ジャッジ日時 | 2024-06-10 01:55:02 |
合計ジャッジ時間 | 19,226 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 817 ms
24,064 KB |
testcase_01 | AC | 809 ms
24,192 KB |
testcase_02 | AC | 806 ms
24,192 KB |
testcase_03 | AC | 818 ms
30,080 KB |
testcase_04 | AC | 1,400 ms
48,512 KB |
testcase_05 | AC | 1,417 ms
50,432 KB |
testcase_06 | AC | 1,762 ms
50,304 KB |
testcase_07 | AC | 1,547 ms
49,792 KB |
testcase_08 | AC | 1,361 ms
49,536 KB |
testcase_09 | AC | 1,135 ms
48,512 KB |
testcase_10 | AC | 1,694 ms
50,432 KB |
testcase_11 | AC | 939 ms
48,256 KB |
testcase_12 | AC | 1,286 ms
49,792 KB |
testcase_13 | AC | 1,791 ms
50,560 KB |
ソースコード
# -*- coding: utf-8 -*- N, K = map(int, raw_input().split()) SIZE = 1000 + 2 GETA = 500 field = [[0 for i in xrange(SIZE + 1)] for i in xrange(SIZE + 1)] imosField = [[0 for i in xrange(SIZE + 1)] for i in xrange(SIZE + 1)] for _ in xrange(N): X, Y, H = map(int, raw_input().split()) field[X + GETA][Y + GETA] = H for _ in xrange(K): AX, AY, W, H, D = map(int, raw_input().split()) MX = min(AX + GETA + W + 1, SIZE) MY = min(AY + GETA + H + 1, SIZE) imosField[AX + GETA][AY + GETA] += D imosField[MX][AY + GETA] -= D imosField[AX + GETA][MY] -= D imosField[MX][MY] += D # X方向に累積和で算出 for y in xrange(SIZE + 1): for x in xrange(SIZE): imosField[x + 1][y] += imosField[x][y] # Y方向に累積和で算出 for x in xrange(SIZE + 1): for y in xrange(SIZE): imosField[x][y + 1] += imosField[x][y] # ダメージを与える total = 0 for x in xrange(SIZE + 1): for y in xrange(SIZE + 1): total += max(field[x][y] - imosField[x][y], 0) print total