Submission #867310

#TimeUsernameProblemLanguageResultExecution timeMemory
867310Muhammad_AneeqNuclearia (CEOI15_nuclearia)C++17
30 / 100
1083 ms61268 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #pragma GCC optimize("O2") #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") #include <iostream> #include <cmath> using namespace std; #define int long long inline void solve() { int h,w; cin>>h>>w; int a[h][w]={}; int x; cin>>x; while (x--) { int i,j,y,z; cin>>i>>j>>y>>z; i--;j--; a[i][j]+=y; for (int k=0;k<y/z+(y%z!=0);k++) { if (i-k<0&&i+k>=h) break; for (int l=0;l<y/z+(y%z!=0);l++) { if (j-l<0&&j+l>=w) break; if (k==0&&l==0) continue; if (i-k>=0) { if (j-l>=0) a[i-k][j-l]+=y-z*max(k,l); if (j+l<w&&l!=0) a[i-k][j+l]+=y-z*max(k,l); } if (i+k<h&&k!=0) { if (j-l>=0) a[i+k][j-l]+=y-z*max(k,l); if (j+l<w&&l!=0) a[i+k][j+l]+=y-z*max(k,l); } } } } long long pre[h+1][w+1]={}; for (int i=0;i<h;i++) { for (int j=0;j<w;j++) { pre[i+1][j+1]=pre[i+1][j]+pre[i][j+1]-pre[i][j]+a[i][j]; } } int q; cin>>q; while (q--) { int a,b,c,d; cin>>a>>b>>c>>d; int f=pre[c][d]-pre[c][b-1]-pre[a-1][d]+pre[a-1][b-1]; long double g=(c-a+1)*(d-b+1); cout<<(long long)round(f/g)<<'\n'; } } signed main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...