Submission #461232

#TimeUsernameProblemLanguageResultExecution timeMemory
461232vanicNuclearia (CEOI15_nuclearia)C++14
0 / 100
1095 ms19992 KiB
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>

using namespace std;
typedef long long ll;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int h, w;
	cin >> w >> h;
	ll l[w][h];
	memset(l, 0, sizeof(l));
	int n;
	cin >> n;
	int 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(0, c-d*max(abs(j-a), abs(k-b)));
			}
		}
	}
	int q;
	cin >> q;
	ll sum;
	for(int i=0; i<q; i++){
		cin >> a >> b >> c >> d;
		a--; b--; c--; d--;
		sum=0;
		for(int j=a; j<=c; j++){
			for(int k=b; k<=d; k++){
				sum+=l[j][k];
			}
		}
		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...