結果
問題 |
No.1490 スライムと爆弾
|
ユーザー |
|
提出日時 | 2021-04-24 04:17:44 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 272 ms / 2,000 ms |
コード長 | 769 bytes |
コンパイル時間 | 609 ms |
コンパイル使用メモリ | 66,628 KB |
実行使用メモリ | 37,112 KB |
最終ジャッジ日時 | 2024-07-04 08:57:17 |
合計ジャッジ時間 | 3,926 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
コンパイルメッセージ
main.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 6 | main() | ^~~~
ソースコード
#include<iostream> using namespace std; int H,W,N,M; int T[1<<17],U[1<<17],L[1<<17],R[1<<17],A[1<<17]; long S[2002][2002]; main() { cin>>H>>W>>N>>M; for(int i=0;i<N;i++) { cin>>T[i]>>U[i]>>L[i]>>R[i]>>A[i]; T[i]--;L[i]--; } for(int i=0;i<M;i++) { int x,y,b,c;cin>>x>>y>>b>>c; int lx=x-b,rx=x+b+1,ly=y-b,ry=y+b+1; if(lx<0)lx=0; if(ly<0)ly=0; if(rx>H+1)rx=H+1; if(ry>W+1)ry=W+1; S[lx][ly]+=c; S[lx][ry]-=c; S[rx][ly]-=c; S[rx][ry]+=c; } for(int _=0;_<2;_++) { for(int i=0;i<=H;i++)for(int j=0;j<=W;j++) { if(i)S[i][j]+=S[i-1][j]; if(j)S[i][j]+=S[i][j-1]; if(i&&j)S[i][j]-=S[i-1][j-1]; } } int cnt=0; for(int i=0;i<N;i++) { if(S[U[i]][R[i]]-S[U[i]][L[i]]-S[T[i]][R[i]]+S[T[i]][L[i]]<A[i])cnt++; } cout<<cnt<<endl; }