Submission #461274

#TimeUsernameProblemLanguageResultExecution timeMemory
461274vanicNuclearia (CEOI15_nuclearia)C++14
30 / 100
1108 ms276496 KiB
#include <iostream> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <vector> using namespace std; typedef long long ll; vector < vector < ll > > l; vector < vector < ll > > pref; vector < ll > vi; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int h, w; cin >> w >> h; vi.resize(h, 0); l.resize(w, vi); vi.resize(h+1, 0); pref.resize(w+1, vi); int n; cin >> n; ll a, b, c, d; for(int i=0; i<n; i++){ cin >> a >> b >> c >> d; a--; b--; for(int j=0; j<w; j++){ for(int k=0; k<h; k++){ l[j][k]+=max(0ll, c-d*max(abs(j-a), abs(k-b))); } } } for(int i=0; i<w; i++){ for(int j=0; j<h; j++){ pref[i+1][j+1]=pref[i+1][j]+pref[i][j+1]-pref[i][j]+l[i][j]; } } int q; cin >> q; ll sum; for(int i=0; i<q; i++){ cin >> a >> b >> c >> d; sum=0; sum=pref[c][d]-pref[c][b-1]-pref[a-1][d]+pref[a-1][b-1]; cout << (ll)round((double)sum/((c-a+1)*(d-b+1))) << '\n'; } return 0; }
#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...