Submission #570037

#TimeUsernameProblemLanguageResultExecution timeMemory
570037600MihneaNuclearia (CEOI15_nuclearia)C++17
0 / 100
1092 ms143408 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; signed main() { ios::sync_with_stdio(0); cin.tie(0); ///freopen ("input.txt", "r", stdin); int n, m; cin >> n >> m; vector<vector<ll>> radiation(n + 1, vector<ll> (m + 1, 0)); int ops; cin >> ops; for (int i = 1; i <= ops; i++) { int r1, c1, a, b; cin >> r1 >> c1 >> a >> b; for (int r = 1; r <= n; r++) { for (int c = 1; c <= m; c++) { int dist = max(abs(r - r1), abs(c - c1)); radiation[r][c] += max(0LL, a - 1LL * b * dist); } } } { /// transform the radiation in the form of prefix rectangle sum for (int i = 1; i <= n; i++) { ll cur = 0; for (int j = 1; j <= m; j++) { cur += radiation[i][j]; radiation[i][j] = radiation[i - 1][j] + cur; } } } int q; cin >> q; while (q--) { int r1, c1, r2, c2; cin >> r1 >> c1 >> r2 >> c2; ll total = radiation[r2][c2] - radiation[r1 - 1][c2] - radiation[r2][c1 - 1] + radiation[r1 - 1][c1 - 1]; ll area = (r2 - r1 + 1) * (c2 - c1 + 1); cout << round((long double) total / (long double) area) << "\n"; } }
#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...