結果
問題 | No.325 マンハッタン距離2 |
ユーザー | ayame_py |
提出日時 | 2016-01-04 00:25:44 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 10 ms / 1,000 ms |
コード長 | 871 bytes |
コンパイル時間 | 113 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 6,272 KB |
最終ジャッジ日時 | 2024-09-19 11:04:07 |
合計ジャッジ時間 | 1,167 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 10 ms
6,016 KB |
testcase_01 | AC | 10 ms
6,016 KB |
testcase_02 | AC | 10 ms
6,272 KB |
testcase_03 | AC | 10 ms
6,272 KB |
testcase_04 | AC | 9 ms
6,144 KB |
testcase_05 | AC | 10 ms
6,272 KB |
testcase_06 | AC | 10 ms
6,144 KB |
testcase_07 | AC | 9 ms
6,016 KB |
testcase_08 | AC | 9 ms
6,144 KB |
testcase_09 | AC | 10 ms
6,144 KB |
testcase_10 | AC | 9 ms
6,272 KB |
testcase_11 | AC | 9 ms
6,272 KB |
testcase_12 | AC | 10 ms
6,016 KB |
testcase_13 | AC | 10 ms
6,272 KB |
testcase_14 | AC | 9 ms
6,272 KB |
testcase_15 | AC | 10 ms
6,272 KB |
testcase_16 | AC | 10 ms
6,272 KB |
testcase_17 | AC | 9 ms
6,144 KB |
testcase_18 | AC | 9 ms
6,272 KB |
testcase_19 | AC | 9 ms
6,144 KB |
testcase_20 | AC | 9 ms
6,272 KB |
testcase_21 | AC | 9 ms
6,272 KB |
testcase_22 | AC | 10 ms
6,144 KB |
testcase_23 | AC | 9 ms
6,144 KB |
testcase_24 | AC | 10 ms
6,272 KB |
testcase_25 | AC | 10 ms
6,144 KB |
testcase_26 | AC | 10 ms
6,144 KB |
ソースコード
def sumn(n): return n*(n+1)/2 x1,y1,x2,y2,d=map(int,raw_input().split()) if x1>=0: xx=[[x1,x2]] elif x2<=0:xx=[[-x2,-x1]] else:xx=[[1,-x1],[0,x2]] if y1>=0: yy=[[y1,y2]] elif y2<=0:yy=[[-y2,-y1]] else:yy=[[1,-y1],[0,y2]] ans=0 for x in xx: for y in yy: if x[0]+y[0]>d:continue if x[1]+y[1]<=d: ans+=(x[1]-x[0]+1)*(y[1]-y[0]+1) continue if x[1]+y[0] >= d: if x[0]+y[1]>=d: tx=d-y[0] ans+=sumn(tx-x[0]+1) else: tx=d-y[1] e=y[1]-y[0]+1 ans+=sumn(e)+e*(tx-x[0]) else: if x[0]+y[1]>=d: ty=d-x[1] e=x[1]-x[0]+1 ans+=sumn(e)+e*(ty-y[0]) else: tx=d-y[1] ans+=(x[1]-x[0]+1)*(y[1]-y[0]+1)-sumn(x[1]-tx) print ans