#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;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
835 ms |
274284 KB |
Output is correct |
2 |
Correct |
85 ms |
2628 KB |
Output is correct |
3 |
Correct |
80 ms |
2252 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
872 ms |
274272 KB |
Output is correct |
2 |
Correct |
88 ms |
2688 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
314 ms |
39824 KB |
Output is correct |
2 |
Correct |
85 ms |
3336 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
288 ms |
41464 KB |
Output is correct |
2 |
Correct |
84 ms |
3268 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
606 ms |
276496 KB |
Output is correct |
2 |
Correct |
99 ms |
2976 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
791 ms |
112200 KB |
Output is correct |
2 |
Correct |
85 ms |
2616 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
433 ms |
45240 KB |
Output is correct |
2 |
Correct |
90 ms |
4904 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
586 ms |
60864 KB |
Output is correct |
2 |
Correct |
83 ms |
4240 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1104 ms |
274280 KB |
Time limit exceeded |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1108 ms |
274216 KB |
Time limit exceeded |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1094 ms |
39756 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1089 ms |
39628 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1091 ms |
40224 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1095 ms |
39756 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |